VS2013下的64位与32位程序配置
在Windows 7 64bit和Visual Studio 2013下生成64位程序。
- 新建一个Visual Studio Win32 Console项目,命名为WinTestX64.
代码如下
#include "stdafx.h" #include <iostream> using namespace std; #define PRINT(a) cout << #a << ":" << a << endl void printSize(char aInFunc[]){ PRINT(sizeof(aInFunc)); } int _tmain(int argc, _TCHAR* argv[]) { char a[] = "abc"; char *b = "abc"; PRINT(sizeof(a)); PRINT(sizeof(b)); printSize(a); getchar(); return 0; }
- 在工具栏上单击"Solution Platforms",选择"Configuration Manager...",然后在"Active solution platform"中选择"<New...>"
- 在"New Solution Platform"对话框中选择"x64"平台。单击确定。
- 回到IDE界面上了,注意到现在的平台已经是x64了。
- 编译,链接,分别生成32位与64位程序。
- 按F5,开始调试,在output对话框中,我们可以看到32位和64位程序加载的dll不同。
32位程序从SysWOW64中加载dll。
而64位程序从System32中加载dll。
分别用32bit和64bit的配置编译, 看看结果有何区别.