/MD /MT

1.将 /MD 选项 改为/MT 选项,最终的可执行文件就不会包含对那些VC 运行时的DLL的引用了。

2

编译选项包含静态链接的Lib说明
/M D _MT.DLL MSVCRT.Lib  多线程,Release,Dll版本的运行时库
/MDd_DEBUG._MT_DLL MSVCRTD.Lib多线程,Debug,Dll版本的运行时库
/MT_MT LIBCMT.Lib 多线程,Release版本的运行时库
/MTD_DEBUG._MT LIBCMTD.Lib多线程,Debug版本的运行时库

3.简单的说 

     /MD ,表示运行时库由操作系统提供一个DLL,程序里不集成。

     /MT,表示运行时库由程序集成

     /d表示有没有调试版本

4.为什么选择/MD,不选/MT?

   1)程序就不需要静态链接运行时库,可以减小软件的大小。

   2)所有的模块都采用/MD,使用同一个堆,不存在A堆申请,B堆释放的问题。

5.为什么选择/MT,不选择/MD?

  1)有些系统可能没有程序所需版本的运行时库,程序必须把运行时库静态的连接上。

  2)减少模块对外界的依赖。

6.多个模块,必须选择相同的运行时库。

7.选择/MT需解决堆空间的释放问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值