VS2013下的64位与32位程序配置

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的配置编译, 看看结果有何区别. 

 

posted @ 2016-07-31 13:32  清源居士  阅读(29273)  评论(4编辑  收藏  举报