Windows编程MD(d)、MT(d)编译选项的区别

本文介绍了Windows编程中编译选项MD(d)、MT(d)的区别。MD(d)对应多线程DLL版运行时库,而MT(d)对应多线程静态版运行时库。动态链接的运行时库使用MSVCRT.lib,静态链接的运行时库使用LIBCMT.lib。选择MD可减小软件大小,但多个模块需统一运行时库类型;MT则避免依赖外部DLL,但需注意堆空间管理。
摘要由CSDN通过智能技术生成

1. 运行时库功能 ##

运行时库是程序在运行时所需要的库文件,通常以LIB或DLL形式提供:

C运行时库 库文件
Single thread(static link) libc.lib
Debug single thread(static link) libcd.lib
MultiThread(static link) libcmt.lib
Debug multiThread(static link) libcmtd.lib
MultiThread(dynamic link) msvcrt.lib
Debug multiThread(dynamic link) msvcrtd.lib

C运行时库包含了C程序运行的最基本和最常用的函数。

C运行时库除了给我们提供必要的库函数调用之外,它提供的另一个最重要的功能是为应用程序添加启动函数。

需要强调的一点,大家所熟知的main、WinMain等函数,仅仅是入口点函数,程序在执行时,首先进入的是启动函数

C运行时库启动函数的主要功能为:
1. - 获取指向新进程的完整命令行的一个指针
2. - 获取指向新进程的环境变量的一个指针
3. - 初始化C/C++运行库的全局变量
4. - 初始化C运行库内存分配函数(malloc和calloc)和其他底层I/O例程使用的堆(heap&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值