title: A request for good tutorials on dll programming
body: <p>For the past while I've been trying to create plugins for a few applications. These are always dll files and I've followed the instructions in the various app's SDK documentation, but I've never <em>really</em> understood what I was doing. 
  In order to remedy this I've tried to find any resource that deals more with some practical aspects of programming in C++, including dealing with dlls, a list off the top of my head being:</p>
  
  <ul>
  <li>dll files, what are they used for and why?</li>
  <li>why use dll files over libs?</li>
  <li>what's that .def file all about, is it a microsoft only thing?</li>
  <li>what is a manifest file for?</li>
  <li>...</li>
  </ul>
  
  <p>Basically, all of those lovely options that can be seen in an IDE (Visual Studio and XCxcode for me) - how does one learn what they are and how to use them in conjunction with code slightly more complex than writing a 'hello world' application?
  I guess I'm looking for a more 'architectural view' on programming. The most I've found so far in all my C++ books is that there's always a section on 
  <code>source code &gt; object code &gt; linked w/ other obj code &gt; executable</code>
  but that's as far as it goes.</p>
  
  <p>So, are there any good books for someone in my position of wanting to learn more than just C++ syntax? I know about the code, I know about object orientation, I know about the STL. I need a good book or resource for the next step.</p>
  
  <p>Thanks! (and sorry if it's a bit of a vague question, but it has come to this)</p>