現象
次のような状況で問題が発生します。
-
Visual C++ 2010 プロジェクトがあります。 プロジェクトのソース コードには、構造体またはクラスが 64 バイトを超えることがあります。
-
X64 ベースのプラットフォームでは、プロジェクトをビルドして、 /O2コンパイラ オプションを使用します。
-
アプリケーションを実行するとします。
このシナリオでは、アクセス違反が発生して、アプリケーションがクラッシュします。
原因
この問題は、Visual Studio 2010 の x64 ベースのコンパイラは、64 バイトのデータには、16 バイトの割り当ての配置を調整することによって、コードを最適化するために発生します。 したがって、64 バイトを超えるオブジェクトをメモリに問題が発生します。
解決方法
修正プログラムの情報
サポートされている修正プログラムは、マイクロソフトから入手可能です。 ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。 この問題が発生しているシステムにのみ適用してください。 この修正プログラムは、今後さらにテストを行う場合があります。 したがって、この問題の影響が深刻でない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことをお勧めします。 この修正プログラムを MSDN コード ギャラリーからダウンロードするには、次のマイクロソフト web サイトを参照してください。
http://code.msdn.microsoft.com/KB2280741注: MSDN コード ギャラリーの修正プログラムは利用可能な言語を表示します。 自分の言語が一覧に表示されない場合は、その言語用のコード ギャラリー リソース ページが使用できないためです。 注: さらなる問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストの作成が必要な場合があります。 この修正プログラムの対象外の追加の質問および問題については、通常のサポート料金が適用されます。 マイクロソフト カスタマー サービス サポートの電話番号一覧または別のサービス リクエストの作成については、次のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support次のマイクロソフト web サイトにアクセスしてこの修正プログラムをダウンロードすることもできます。
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31433
必要条件
この修正プログラムを適用するには、Visual Studio 2010 がインストールされている必要があります。
再起動の必要性
修正プログラムを適用した後コンピューターを再起動する必要はないです。
修正プログラムの置き換えに関する情報
この修正プログラムによって他の修正プログラムが置き換わることはありません。
ファイル情報
修正プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。 これらのファイルの日付と時刻は世界協定時刻 (UTC) で記載されています。 ファイル情報に表示される時刻は、ローカル時刻に変換されています。 UTC とローカル時間の時差を確認するには、コントロール パネルの [日付と時刻] で、[タイム ゾーン] タブを使用します。
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
---|---|---|---|---|---|
C2.dll |
16.0.30319.345 |
2,510,144 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,588,480 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,630,976 |
01-Aug-2010 |
23:42 |
x86 |
C2.dll |
16.0.30319.345 |
2,977,088 |
01-Aug-2010 |
23:42 |
x64 |
C2.dll |
16.0.30319.345 |
7,351,616 |
01-Aug-2010 |
23:42 |
IA-64 |
回避策
この問題を回避するのにを使わない/O2コンパイラ オプション、プロジェクトをビルドするとします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。