博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual Studio 代码生成 运行时库的选择
阅读量:5748 次
发布时间:2019-06-18

本文共 890 字,大约阅读时间需要 2 分钟。

  运行时库的选项有:多线程(/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版本。

转载于:https://www.cnblogs.com/wendao/archive/2011/12/01/article5_vs0.html

你可能感兴趣的文章
JQ使用Append添加html文本后再删除该html文本
查看>>
B/S与C/S结构的区别
查看>>
MathType中常见的两种符号的运用
查看>>
自动填充功能关闭解决表单input框屎黄色问题
查看>>
python_控制台输出带颜色的文字方法
查看>>
Java线程Thread的状态解析以及状态转换分析 多线程中篇(七)
查看>>
[十二]JavaIO之BufferedInputStream BufferedOutputStream
查看>>
java泛型中特殊符号的含义
查看>>
一秒 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql 问题
查看>>
linuxan安装redis出现Newer version of jemalloc required错误
查看>>
在centos7下用http搭建配置svn服务
查看>>
PHP APP端支付宝支付
查看>>
TCP长连接的一些事儿
查看>>
Android组件化最佳实践 ARetrofit原理
查看>>
舍弃浮躁, 50条重要的C++学习建议
查看>>
Hibernate懒加载/延迟加载机制总结
查看>>
fail2ban安装与使用
查看>>
拦截器(Interceptor)中的invocation.invoke()是什么意思?
查看>>
metasploit扫描MySQL用户名和密码
查看>>
walle上线部署系统
查看>>