Visual studio 2015 默认附加库
Visual studio 2015 default additional libraries
当我在 VS 2015 中创建一个空项目时,它会自动将这些库放入 "additional dependencies":
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)
我不知道其中大部分是做什么用的,可以安全地移除它们吗?
不,您不能删除它们。这些是与 Windows.
接口的库
您无需担心。 .lib
非常小,它们所指的 .dll
已经作为您的 Windows 安装的一部分存在。
其中许多可以安全删除。以下是它们用途的简要说明:
kernel32
:进程和线程管理,文件和设备I/O,内存分配(保留这个,C和C++运行时库和编译器生成的代码使用它)
user32
: Window 和菜单管理(如果使用 GUI 则保留这个,对于控制台应用程序可以删除)基本的小部件集(=预定义 window 类,像按钮、复选框和滚动条)都在这里。
gdi32
:绘图(如果使用自定义渲染图形,请保留此项,如果仅使用小部件,则可以删除)
comctl32
: 花哨的新小部件,如树、列表视图和进度条
winspool
: 超出 GDI 涵盖范围的打印高级用法。我总是删除它。
comdlg32
: 常用对话框,如打开和保存文件对话框
advapi32
:注册表支持、用户帐户和访问控制、密码学。我通常最终需要这个,您的需求可能会有所不同。
shell32
, shlwapi
: 任务栏和通知托盘 UI 以及更多辅助功能,如预定义文件夹和路径操作功能。通常有用,但许多应用程序不需要它。
ole32
, oleaut32
: OLE 是 ActiveX、DCOM 等的基础。许多较新的 OS APIs 是 COM 对象,所以你可能需要保留这个。
uuid
: 高级 OLE 用法,可能不需要。
odbc32
, odbccp32
: 使用非常古老且不友好的数据库访问 API。我总是删除这些。
斜体字库不在默认列表中,但比默认列表中的一半更有用。
当我在 VS 2015 中创建一个空项目时,它会自动将这些库放入 "additional dependencies":
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)
我不知道其中大部分是做什么用的,可以安全地移除它们吗?
不,您不能删除它们。这些是与 Windows.
接口的库您无需担心。 .lib
非常小,它们所指的 .dll
已经作为您的 Windows 安装的一部分存在。
其中许多可以安全删除。以下是它们用途的简要说明:
kernel32
:进程和线程管理,文件和设备I/O,内存分配(保留这个,C和C++运行时库和编译器生成的代码使用它)user32
: Window 和菜单管理(如果使用 GUI 则保留这个,对于控制台应用程序可以删除)基本的小部件集(=预定义 window 类,像按钮、复选框和滚动条)都在这里。gdi32
:绘图(如果使用自定义渲染图形,请保留此项,如果仅使用小部件,则可以删除)comctl32
: 花哨的新小部件,如树、列表视图和进度条winspool
: 超出 GDI 涵盖范围的打印高级用法。我总是删除它。comdlg32
: 常用对话框,如打开和保存文件对话框advapi32
:注册表支持、用户帐户和访问控制、密码学。我通常最终需要这个,您的需求可能会有所不同。shell32
,shlwapi
: 任务栏和通知托盘 UI 以及更多辅助功能,如预定义文件夹和路径操作功能。通常有用,但许多应用程序不需要它。ole32
,oleaut32
: OLE 是 ActiveX、DCOM 等的基础。许多较新的 OS APIs 是 COM 对象,所以你可能需要保留这个。uuid
: 高级 OLE 用法,可能不需要。odbc32
,odbccp32
: 使用非常古老且不友好的数据库访问 API。我总是删除这些。
斜体字库不在默认列表中,但比默认列表中的一半更有用。