问题与release 还是 debug 编译无关
C/C++编写的程序运行依赖于 C/C++ Run Time Library, 只要有相应版本的 C/C++ RTL就可以运行, 并不一定要安装Visual C++编译器. 我们在装VC++ IDE的时候实际上安装了很多东西, i.e. 各种各样的SDK文档, 头文件源文件, 调试所需的符号文件, 链接库文件, 编译器, 一大堆的动态链接库......
由于我们用的很多程序都是用VC++ 写就的, 这些程序的安装包里面可能就自带了相应的运行时库(微软允许在发行的应用程序里面包含 C/C++ RTL, 即所谓 VC++ RTL 可再发行组件包, 可以在微软官网上独立下载),安装这些程序的时候会自动安装这个RTL, 这样由于这个原因有些没有装编译器的电脑也可以运行用Visual Studio编译的C/C++, MFC 程序.
另外采用静态链接的方法也可以使MFC程序在没有运行时库的机器上运行, 只不过这样会使最终的exe 文件体积多了几百KB. 有些人用release编译可运行, debug编译不可运行, 这只是release模式的编译配选择了静态链接. release与debug的区别只在于最终得到的PE文件是否包含调试信息, 其他的并没有什么区别.