I've noticed Visual Studio 2010 adds certain DLLs to the linker input by default. I have an idea of what kernel32, user32, and gdi32 contain, but do I really need winspool.lib,comdlg32.lib,advapi32.lib,shell32.lib, and ole32.lib among others? Is there a resource that would give me an overview of that these libraries contain, and if I would be able to remove some frm my project?
Thanks.
Standard Windows DLLs
Couple of points:
- A lot of libraries are added just for convenience
- You can always try removing them one at a time and see if everything still links (you'll get Unresolved Externals if you needed a library you just removed)
- Google can probably tell you anything you need to know about what services each of those .libs offers; MSDN can fill in the gaps
VS will also remove unneeded dependencies when optimizing, so your final executable will not require these to run.
As stated, if the program doesn't actually reference anything in those libraries, then they wont be linked. Also, you shouldn't worry about any of those libraries, they are really not a dependency because it's not as if you are ever going to find a system that is missing one of those. Those DLLs all belong to the Win32 subsystem. They are essential operating system files.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement