【VS】发布库lib/dll 带运行环境(/MT、/MTd、/MD、/MDd)静态库/动态库

目录

库发布原则

库的分类说明

生成不同的库



库发布原则

1、xxx_x86.lib 、xxx_x64.lib  xxx_x86.dll 、xxx_x64.dll   --- 带运行环境(调试/非调试)

系统找dll属性
1、当前exe目录下
2、当前进程目录下
3、系统system目录下
4、windows目录下
5、环境设置的路径下
要想找到,设置工作目录:属性-配置属性-调试-工作目录

设置D:\MyCppExLib\include\和D:\MyCppExLib\lib\
至"工具"->"选项"->"项目和解决方案"->"VC++目录"中的 "包含文件" 及 "库文件" 中.
你的设置能够保证编译和链接通过

库的分类说明

种语言的开发环境往往会附带有语言库,这些库就是对操作系统的API的包装,我们也称这些语言库为运行库

对于MSVC的运行库(CRT):

分类:

按照静态/动态链接:静态版和动态版;

按照调试/发布:调试版本和发布版本;

按照单线程/多线程:单线程版本和多线程版本(但是目前VS中已不提供单线程版本了)

在调试模式下,使用调试运行库:多线程调试(/MTd)、多线程调试DLL(/MDd)

在发布模式下,使用发布运行库:多线程(/MT)、多线程DLL(/MD)

 

调试模式下运行库带d,但发布模式不带。调试与发布的区别在于,发布模式省略了程序的调试信息,简单来说就是删除了调试模式下的用于调试的内容,所以一般情况下,发布模式下生成的可执行文件的大小比调试模式下生成的要小

静态链接:多线程(/MT)、多线程调试(/MTd)

动态链接:多线程DLL(/MD)、多线程调试DLL(/MDd)

动态链接为D,静态链接为T。两者的区别在于,静态链接程序所依赖的运行库集成到了可执行文件中,可执行文件运行时不再需要运行库;动态链接没有把程序所依赖的运行库集成到可执行文件中,可执行文件运行时需要运行库。由于静态链接将程序所依赖的运行库集成到了可执行文件中,一般情况下,生成的可执行文件的大小大于动态链接生成的

 

生成不同的库

对这四种运行库的选在位于VS的项目属性-》C/C++-》代码生成-》运行库:



 

posted on 2022-10-04 01:28  bdy  阅读(51)  评论(0编辑  收藏  举报

导航