   ANSI/ISO C++ Runtime DLL's
  Hello! I''m a C++ n00b and was talking with a professional programmer about Microsoft''s .NET framework. I told him that I didn''t like it because I don''t trust Microsoft and because it requires you to use the .NET runtimes, which are fairly large. He told me that all high-level programming languages use their own runtimes, even C++, and that you just don''t know it because they come with the OS generally. So my question is: Why does C++ require runtime dll''s if your code is being compiled into a binary file? What is being referenced? I don''t really understand what happens at compile-time. Any insight would be helpful. Thanks in advance!   Though this be madness, yet there is method in''t. --Shakespeare 
  All the standard functions that you use...Note that even if you use none (but this is compiler dependent), you might still need to link with some functions ((Win)mainCRTStartup in VC++ for example). Exceptions and others also take stuff from the runtime. Just try to compile your project after checking the "ignore default library" checkbox, you''ll see what it could link to. You could also use Dependency Walker to look at the stuff linked.;  Thank you for such a helpful reply.  But I don''t understand why standard library functions would be in a runtime dll, as opposed to a compile time library.  The initialization stuff makes sense, and so do the exceptions, as it seems these should be handled at runtime.  I think I just don''t understand what the compiler is doing when you request library functions...   Though this be madness, yet there is method in''t. --Shakespeare ;  You can choose in the project settings what kind of runtime library to use (debug/release, single/multithreaded, DLL or not..);  the c standard library function are in dlls  because if you compiled them in your program executable would be huge. that''s at least one reason they are in dlls, another is for updating, it allows you to update the functions without recompiling your program 