1

以下は、最も単純な C++ プログラムです。

x64test.cpp

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

私の意図は、4G を超える大きなバッファーを割り当てることです。ネイティブの 64 ビット プロセスでは問題ないはずです。しかし、Visual Studio 2011 Beta は x64test.cpp のコンパイルを拒否し、"エラー C2148: 配列の合計サイズは 0x7ffffffff バイトを超えてはなりません" と報告します。

私はグーグルで検索し、 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