1

下面是一个最简单的 C++ 程序:

x64test.cpp

int main()
{
    char * p = new char[0xffffffffff]; 
}

我的意图是分配一个大于 4G 的大缓冲区。在本机 64 位进程中,应该没问题;但 Visual Studio 2011 Beta 拒绝编译 x64test.cpp 并重新报告:“错误 C2148:数组的总大小不得超过 0x7fffffff 字节”。

我用谷歌搜索并在http://blogs.msdn.com/b/windowssdk/archive/2007/09/08/updated-windows-sdk-visual-c-cross-compilers.aspx找到了一篇有用的文章

根据文章,我应该使用原生 64 位编译器来编译 x64test.cpp。但是,Visual Studio 只能作为 32 位进程启动,因此 msbuild.exe 和 cl.exe 始终作为 32 位进程运行。

我曾尝试将解决方案平台配置为 x64,但没有效果。

我已经使用所谓的原生64位编译器通过以下步骤成功编译x64test.cpp:

1、以管理员身份启动cmd.exe;

2、cd C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64;

3、cl x64test.cpp

我的问题是:

有没有办法在 Visual Studio IDE 中启用本机 64 位编译器?

4

0 回答 0