Visual Studio 代码生成 运行时库的选择
2012-08-14 07:02
169 查看
运行时库的选项有:多线程(/MT)、多线程调试(/MTD)、多线程DLL(/MD)、多线程调试(/MDd) 有时调用外部的一些库,这个选择不对,老编译不通过;
c运行时库 库文件
single thread(static link) ML libc.lib
debug single thread(static link) mld libcd.lib
multithread(static link)MT libcmt.lib
debug multithread(static link) MTD libcmtd.lib
multithread(dynamic link)MD msvert.lib
debug multithread(dynamic link)MDd msertd.lib
各种C运行库的区别:
静态链接的单线程库
只能用于单线程的应用程序,C运行时库的目标代码最终被编译在二进制文件中。通过/ML编译选项可以设置Visual c++使用静态链接的单线程库。
静态链接的多线程库
静态链接的多线程库的目标代码也最终被编译在应用程序的二进制文件中,但是它可以在多线程应用程序中使用。通过/MT编译选项可以设置Visual c++ 使用静态链接库的多线程库。
动态链接的运行时库
动态连接的运行时库将所有的c库函数保存在一个单独的动态链接库MSVCRxx.DLL中,其处理了多线程问题。使用/MD编译选项可以设置Visual c++使用动态链接的运行时库。
静态链接的目标代码最终都会被编译在应用程序的二进制文件中
/MDd、/MTd选项使用Debug runtime library(调试版本的运行时刻函数库),与/MD、MT对应为release版本。debug版本的Runtime Library 包含了调试信息,并采用了一些保护机制以帮助发现错误,将强了错误的检测,因此性能方面比不上release版本。
相关文章推荐
- Visual Studio 代码生成 运行时库的选择
- Visual Studio 代码生成 运行时库的选择
- Visual Studio 代码生成 运行时库的选择
- Visual Studio 代码生成 运行时库的选择
- Visual Studio 代码生成 运行时库的选择
- 调试经验 | Visual Studio中代码正常运行,但运行生成的exe报错“0xc000007b无法正常启动”
- Visual Studio 运行时库的选择的区别
- 编译OpenSSL 动态库/静态库以及运行时库的选择
- 示例:Visual Studio 2005编译运行C代码
- 有关Matlab 中的Simulink 自动生成DSP可运行的C代码 的问题
- 【代码笔记】后台运行,可以选择在前台或后台或前后台
- 几个代码片段-计算程序运行时间+获得当前目录+生成MD5
- opencv生成素描图c++代码实例及运行结果
- [转]Visual Studio 2010单元测试(2)--运行测试并查看代码覆盖率
- opencv生成彩色图c++代码实例及运行结果
- 支持MVC的代码生成运行效果 C# ASP.NET
- 警告: 无法调试脚本代码。未注册正确的 pdm.dll 版本。请修复 Visual Studio 2005 安装或运行“regsvr32.exe "%CommonProgramFiles%\Micro
- Spring实战——如何运行第一章的代码(如何生成一个可执行的jar包)
- 使用Visual Studio宏来自动生成代码 [ Visual Studio | 宏 | 自动生成代码 ]
- Visual Studio 2010 单元测试--运行测试并查看代码覆盖率