如果是调用Windows提供的函数,如MessageBox,则在任何配置情况下(无论DEBUG和RELEASE)不需要分发任何DLL,只要是Windows系统都包括这些函数,Visual C++在生成EXE时知识包括了函数在系统DLL中的地址。
如果是C/C++中定义的函数(包括Visual C++扩展的函数),以及MFC的类,则是否需要分发DLL与你的配置有关。是否分发DLL与Settings对话框中的选项有关,如果选择Using MFC in a Shared DLL中,则需要分发DLL,而如果选择Using MFC in Static Library,则不需要。是否需要分发DLL这点也和DEBUG和RELEASE无关。但是如果选择Using MFC in a Shared DLL,则分发哪个DLL和和DEBUG和RELEASE有关,
总结以上说法,对于一个简单的程序,如果要在没有安装过VC++的机器上安装,只要是RELEASE模式的就可以。如果进一步要求不需要DLL,则需要选择Using MFC in Static Library。
对于复杂的程序,例如使用数据库、OCX等,则只能满足在没有安装过VC++的机器上安装的要求,而总是需要分发DLL的。
如果是C/C++中定义的函数(包括Visual C++扩展的函数),以及MFC的类,则是否需要分发DLL与你的配置有关。是否分发DLL与Settings对话框中的选项有关,如果选择Using MFC in a Shared DLL中,则需要分发DLL,而如果选择Using MFC in Static Library,则不需要。是否需要分发DLL这点也和DEBUG和RELEASE无关。但是如果选择Using MFC in a Shared DLL,则分发哪个DLL和和DEBUG和RELEASE有关,
总结以上说法,对于一个简单的程序,如果要在没有安装过VC++的机器上安装,只要是RELEASE模式的就可以。如果进一步要求不需要DLL,则需要选择Using MFC in Static Library。
对于复杂的程序,例如使用数据库、OCX等,则只能满足在没有安装过VC++的机器上安装的要求,而总是需要分发DLL的。