Standard Windows DLLs
3 replies to this topic
Members - Reputation: 182
Posted 08 April 2012 - 01:27 PM
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?
--------------------------------------Not All Martyrs See Divinity, But At Least You Tried
Moderators - Reputation: 20193
Posted 08 April 2012 - 08:24 PM
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
Members - Reputation: 3013
Posted 09 April 2012 - 12:05 AM
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.