Visual studio MT和MD代表什么?

Visual studio MT和MD代表什么?,visual-studio,visual-c++,Visual Studio,Visual C++,我正试图了解在编译C/C++项目时如何使用MT和MD选项。然而,由于无法将这些假定的缩写扩展为有意义的短语,我忘记了从一段到下一段中哪个是哪个。奇怪的是,我读过的文本中没有一个是从定义M、T和D开始的。它们代表什么?cl.exe的这些开关指定要链接的C运行时库/MT指定与LIBCMT.LIB链接/MD指定与MSVCRT.LIB链接 对不同的CRT库进行了更详细的描述。LIBCMT和MSVCRT之间的主要区别在于前者静态地将CRT链接到输出文件中,而MSVCRT链接到VC运行时DLL,与它的名称不

我正试图了解在编译C/C++项目时如何使用MT和MD选项。然而,由于无法将这些假定的缩写扩展为有意义的短语,我忘记了从一段到下一段中哪个是哪个。奇怪的是,我读过的文本中没有一个是从定义M、T和D开始的。它们代表什么?

cl.exe的这些开关指定要链接的C运行时库/MT指定与LIBCMT.LIB链接/MD指定与MSVCRT.LIB链接


对不同的CRT库进行了更详细的描述。LIBCMT和MSVCRT之间的主要区别在于前者静态地将CRT链接到输出文件中,而MSVCRT链接到VC运行时DLL,与它的名称不同,它不是MSVCRT.DLL。请参见上面给出的编译器选项链接。


因此,MT代表多线程,MD代表多线程DLL。

DLL和internal可用作助记符,以区分/MD和/MT。

多线程和多线程数据库。@Eneroth3,缩写的全文肯定在这里:多线程和多线程DLL。这些是首字母缩写,而不是缩写。从语法上讲,它们不需要真正代表任何东西。很久以前,有一个版本的CRT不是多线程的。选项/ML。因此M肯定不是指多线程。这一切都发生在很久以前,今天选择的人都是在阳光明媚的海滩上啜饮pina coladas。如果MT意味着多线程,我希望多线程Dll被写成MDT。那或者简单地说,M代表多重三分之一。但是谢谢你回答这个问题!
/MD    Creates a multithreaded DLL using MSVCRT.lib.
/MDd   Creates a debug multithreaded DLL using MSVCRTD.lib.
/MT    Creates a multithreaded executable file using LIBCMT.lib.
/MTd   Creates a debug multithreaded executable file using LIBCMTD.lib.