Visual Studio中MD与MT的区别及运行库类型选择

MT与MD的区别

  • /MT:是multithread-static version,是多线程静态版本的意思,项目会使用运行时库的多线程静态版本,编译器会将LIBCMT.lib放入.obj文件中,以便链接器使用LIBCMT.lib解析外部符号;
  • /MTd:是定义了_DEBUG和/MT,是/MT类型的debug版本;
  • /MD:是multithread-dll version,是多线程dll版本的意思,项目会使用运行时库的多线程动态dll版本,编译器会将MSVCRT.lib放入.obj文件中,在编译项目时,它会静态链接MSVCRT.lib,但在实际运行过程中,它会链接使用MSVCR90.dll;
  • MDd:是定义了_DEBUG和/MD,是/MD类型的debug版本;

用/MT类型生成的,则它所调用的运行时库为LIBCMT.lib

用/MD类型的,工程在链接时会调用MSVCRT.lib和MSVCR90.dll

相关推荐
水饺编程13 小时前
第1章,[Win32 章节]:API 及 内存管理模式
c语言·c++·windows·visual studio
*wait for?15 小时前
VScode使用uv-创建python虚拟环境
ide·vscode·编辑器
jeffsonfu1 天前
序列到序列(Seq2Seq)模型:机器翻译背后的核心技术
人工智能·自然语言处理·机器翻译
VIP_CQCRE2 天前
在 Visual Studio 里接入 AI 编程能力:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容接口
openai·ai编程·visual studio·mcp·ace data cloud
水饺编程2 天前
第1章,[Win32 章节]:Windows 的方方面面
c语言·c++·windows·visual studio
郝学胜-神的一滴2 天前
C++ Templates 07:编译报错和调试手段与实战技巧
开发语言·c++·后端·软件工程·visual studio
H.莓飛2 天前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
MandalaO_O2 天前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea
郝学胜_神的一滴2 天前
C++ Templates 06:搞懂模板代码的三种组织方式
c++·visual studio
水饺编程3 天前
第1章,[Win32 章节]:Windows 简史
c语言·c++·visual studio