VC++ 6.0静态编译
使用静态链接库:
通过菜单中的”工程”->”设置”,”General”选项卡中”Microsoft Foundation Classes:”下拉选择”Use MFC in a Static Library”,这样,就可以设置为使用静态链接库了.
如果选择use MFC in a Shared DLL 的话,你编译后的程序中不包含MFC库,所以文件会比较小,但是如果你的程序直接移到一个没有安装过MFC的机器上时,可能会导致找不到MFC的DLL。
如果选择Use MFC in a Static Library ,那你编译后的程序就直接包含了调用MFC的部分的库,文件可能会大一些,但是可以直接移到其他机器上运行。
前者是静态链接,发布不用带MFC的DLL文件。
后者是动态连接,发布要带MFC得DLL文件。
如果可执行文件只有一个,使用前者,执行速度快,但文件比较大。
如果可执行文件多个,使用后者,因为DLL文件是共享的,所以文件体积总量减少。
单个文件也小。加载执行块,但运行速度略比前者慢。
used in a static library:
使用lib文件。lib是已经编译好的二进制文件,可以与你的工程静态链接起来成为一个exe。
used in a shared dll:
使用dll文件,函数实现隐藏在DLL文件内部,你的工程编译成exe文件后,运行时才调用dll 。
Debug和Release版本:
他们主要的不同点就在于Debug版本生成的exe中包含很多调试信息,Release版本没包含,并且,Release版本的代码是作了编译优化的. 所以,如果你的一个程序调试完毕可以发布时,请使用release版本生成exe. 当然release版本和debug版本的使用静态连接库要分别设置,如果release版本使用动态库的话,在没装VC的机子一般也运行不了. Release版本和Debug版本的设置方式是一样的.只是在”General”选项卡左边有一个Settings for的下拉,就是选择设置版本的.