title: C/C++ How Does Dynamic Linking Work On Different Platforms?
body: <p>How does dynamic linking work generally? </p>
  
  <p>On Windows (LoadLibrary), you need a .dll to call at runtime, but at link time, you need to provide a corresponding .lib file or the program won't link... What does the .lib file contain? A description of the .dll methods? Isn't that what the headers contain? </p>
  
  <p>Relatedly, on *nix, you don't need a lib file... How how does the compiler know that the methods described in the header will be available at runtime?</p>
  
  <p>As a newbie, when you think about either one of the two schemes, then the other, neither of them make sense...</p>