Visual Studio 2015默认附加库

And*_*ewh 1 c++ include libraries visual-studio-2015

当我在VS 2015中创建一个空项目时,它会自动将这些库放入"其他依赖项"中:

KERNEL32.LIB; USER32.LIB; GDI32.LIB; winspool.lib; comdlg32.lib; advapi32.lib; SHELL32.LIB; ole32.lib; oleaut32.lib; UUID.LIB; odbc32.lib; odbccp32.lib;%( AdditionalDependencies)

我不知道其中大部分内容是什么,它们可以安全删除吗?

Ben*_*igt 6

其中许多可以安全地删除.以下简要介绍了它们的用途:

  • kernel32 :进程和线程管理,文件和设备I/O,内存分配(保持这一点,C和C++运行时库以及编译器生成的代码使用它)
  • user32 :窗口和菜单管理(如果使用GUI,请保留此选项,可以删除控制台应用程序)窗口小部件的基本集(=预定义的窗口类,如按钮,复选框和滚动条)在这里.
  • gdi32 :绘图(如果使用自定义渲染图形,请保留此项,如果只使用小部件则可以删除)
  • comctl32 :花哨的新小部件,如树,列表视图和进度条
  • winspool:超出GDI涵盖的印刷的高级用法.我总是把它删除.
  • comdlg32 :常用对话框,如打开和保存文件对话框
  • advapi32:注册表支持,用户帐户和访问控制,加密.我通常最终需要这个,你的需求可能会有所不同.
  • shell32,shlwapi:任务栏和通知托盘UI和更多辅助函数,如预定义文件夹和路径操作函数.通常很有用,但许多应用程序不需要它.
  • ole32,oleaut32:OLE是ActiveX,DCOM等的基础.许多较新的OS API都是COM对象,因此您可能需要保留它.
  • uuid :高级OLE使用,可能不需要.
  • odbc32,odbccp32:使用非常旧且不友好的API访问数据库.我总是删除这些.

斜体库不在默认列表中,但比一半的库更有用.