vs中右键单击工程 -->属性–>c/c+±->代码生成,进入如下菜单中:
可以看出有如下几个选项:
多线程(/MT):链接目标库为libcmt.lib
多线程调试(/MTd):链接目标库为libcmtd.lib
多线程DLL(/MD):链接目标库为msvcrt.lib
多线程调试DLL(/MDd):链接目标库为msvcrtd.lib
这几种类型有何区别呢?首先要要明白dll和lib的不用之处,这点搞不清楚,都没法做解释,不懂的朋友请自行百度。
MT选项:链接时将C/C++运行时库(LIBCMT.LIB、LIBC.LIB)集成到程序中,程序体积会变大。
MTd选项:上述运行时库的调试版。
MD选项:程序运行时会动态的加载对应的DLL,但是如果没有对应DLL时程序无法运行。
MDd选项:表示使用上述DLL的调试版。
此处几个选项都是名曰多线程,那么单线程的运行时库是哪个呢?当然跟linux上的一样,就是libc.lib。此处的mt就代表multiple thread,即多线程,而此处的的字符d就代表debug,即调试版本。
可见,学好英语有多么重要。说句不好听的,我国的尖端科技水平,80%取决于我们的英语翻译水平,不能很好的使用英语,就不配做一名科研工作者,此种情况几十年后可能会有不同。