title: Dynamic and Static Libraries in C++
body: <p>In my quest to learn C++, I have come across dynamic and static libraries.</p>
  
  <p>I generally get the gist of them: compiled code to include into other programs.</p>
  
  <p>However, I would like to know a few things about them:</p>
  
  <ul>
  <li>Is writing them any different than a normal C++ program, minus the <code>main()</code> function?</li>
  <li>How does the compiled program get to be a library? It's obviously not an executable, so how do I turn, say 'test.cpp' into 'test.dll'?</li>
  <li>Once I get it to its format, how do I include it in another program?</li>
  <li>Is there a standard place to put them, so that whatever compilers/linkers need them can find them easily?</li>
  <li>What is the difference (technically and practically) between a dynamic and static library?</li>
  <li>How would I use third party libraries in my code (I'm staring at <code>.dylib</code> and <code>.a</code> files for the MySql C++ Connector)</li>
  </ul>
  
  <p>Everything I have found relating to libraries seems to be targeting those who already know how to use them. I, however, don't. (But would like to!)</p>
  
  <p>Thanks!</p>
  
  <p>(I should also note I'm using Mac OS X, and although would prefer to remain IDE-neutral or command-line oriented, I use QtCreator/Netbeans)</p>