正常来说和在32位系统上运行不会有区别。
绝大多数32位Windows程序都是可以在64位Windows上运行的(VS本身也是一个32位的软件)。64位Windows会通过WOW64模拟32位程序的运行环境来运行32位程序(就像32位Windows通过WOW模拟16位运行环境来运行16位程序一样)。这里对于程序来说唯一一个显著区别就是32位Windows上32位程序默认只有2GB的用户地址空间,最多能设置成3GB。而WOW64里运行的32位程序可以使用4GB地址空间。但是绝大多数程序并不会因为这个区别产生异常。
不过和32位Windows上一样,运行VC++编写的32位程序可能会需要32位的C运行库的dll。也就是可能要装那个Microsoft Visual C++ 2008 Redistributable Package (x86)才能正常工作。
另外VS2008可以直接生成64位的可执行程序。也就是这个程序在本机没办法用,只有在64位系统里可以跑。当然默认情况下跑程序的那个系统上要有64位的C运行库的dll。
64位系统本来就兼容32位程序的。直接运行就是了。
但32位系统运行不了64位程序。
只需要注意变量的定义是64位的就可以了,
比如 int 变量需定义成int64。
字符串需定义成 unicode格式等等。
使用静态链接库编译,在菜单栏里这样设置:Project->Properties->Configuration Properties->General->Use of MFCUse MFC in a Static Library
设置64位创建环境变量, 用下面任何一种方式都行:
方式一:
点击”开始”菜单, 指向 “Microsoft Platform SDK” > “Open Build Environment Windows” > “Set Windows XP 64 Build Environment”, 然后点击”Set Windows XP 64 Build Environment (Debug)”, 这时, 一个控制台窗口将显示, 一行文本显示像” the build environment set for a 64-bit”.
方式二:
在命令提示符下,
1. 点击”开始”菜单, 然后点击”运行”
2. 键入”command.exe”(没有引号), 然后, 点击”确定”
当然 最好的方式是直接使用64位专用的编译器进行编译源程序,不过这样向下兼容性可能会下降