title: How does linking to external DLL work?
body: <p>I'm really interested in understanding the linkage mechanizm.<br>
  Specifically I wish to understand how does dll linking work.   </p>
  
  <p>As I understand it,<br>
   calling internal function, is actually converted by the compiler to the method's address.<br>
  That is <code>doSomething();</code> is (sortof) converted to <code>jmp 00102356</code>.<br>
  I know this is over simplifying, since it's actually a <code>call</code> instruction.<br>
  But the idea is, that the <code>IP</code> is told where to <code>jmp</code>, because we know the method's address.</p>
  
  <p>What happens with methods from external dlls?<br>
  Are they always assumed to lie in a specific fixed place in memory, to which we call?</p>
  
  <p>Many thanks :)</p>