MDd,MLd,MTd链接选项的差异

各种 C 运行时库的区别

  ( 1 )静态链接的单线程库
  静态链接的单线程库只能用于单线程的应用程序 C 运行时库的目标代码最终被编译在应用程序的二进制文件中。通过 /ML 编译选项可以设置 Visual C++ 使用静态链接的单线程库。

  ( 2 )静态链接的多线程库
  静态链接的多线程库的目标代码也最终被编译在应用程序的二进制文件中,但是它可以在多线程程序中使用。通过 /MT 编译选项可以设置 Visual C++ 使用静态链接的单线程库。

  ( 3 )动态链接的运行时库
  动态链接的运行时库将所有的 C 库函数保存在一个单独的动态链接库 MSVCRTxx.DLL 中, MSVCRTxx.DLL 处理了多线程问题。使用 /MD 编译选项可以设置 Visual C++ 使用动态链接的运行时库。

   /MDd /MLd /MTd 选项使用 Debug runtime library( 调试版本的运行时刻函数库 ) ,与 /MD /ML /MT 分别对应。 Debug 版本的 Runtime Library 包含了调试信息,并采用了一些保护机制以帮助发现错误,加强了对错误的检测,因此在运行性能方面比不上 Release 版本。

posted on 2011-05-04 09:39  SeanLin  阅读(681)  评论(0编辑  收藏  举报

导航