vc中Multi-threaded DLL编译选项的区别

在vc程序的release编译中,c/c++--> code generation  --> Runtime libray 中可以选择的选项有

Multi-threaded (/MT) 和Multi-threaded DLL (/MD).

这两个选项有以下区别:

在连接动态库的时候,如果选择Multi-threaded (/MT),那么动态库是被编译到程序中去的,也就是说程序发布的时候,

不用再带动态库了,但是被连接的动态库也是有要求的,被连接的动态库实际上要编译成静态lib文件,也就是说动态库也

要静态编译成lib文件,这样代码被包含在lib文件中,调用程序选择Multi-threaded (/MT)选项的时候,就可以把lib文件

直接包含进程序自身了,也就是说程序是自包含的。

 

 

Multi-threaded DLL (/MD).选项和我们平时动态调用dll一样了,文件发布时需要同时发布dll文件。也就是说dll文件没有

被包含在程序中,需要和程序同时发布。

你可能感兴趣的:(vc中Multi-threaded DLL编译选项的区别)