現象
次のような状況を考えます。
-
Microsoft Visual Studio 2010 では構造体のビット フィールドのメンバーを使用する Microsoft Visual C++ 2010 アプリケーションを開発します。
-
アプリケーションは、最適化コンパイラ オプションを有効にして、アプリケーションをビルドします。
-
アプリケーションを実行するとします。
このシナリオは、構造体のビット フィールド メンバーの操作を不適切なマシン語コードが生成されます。
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、それはこの資料に記載された問題のみを修正するものです。この特定の問題が発生したシステムにのみ適用してください。
この問題を解決するには、修正プログラムを入手するよう、Microsoft カスタマー サポート サービスに問い合わせてください。Microsoft カスタマー サポート サービスの電話番号とサポート コストに関する情報の完全なリストは、次のマイクロソフト web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注: 特別な場合では、まれに通常サポート コールの発生に料金 Microsoft Support 担当者は、特定の更新で問題が解決されると判断した。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
必要条件
この修正プログラムを適用するには、Microsoft Visual Studio 2010 SP1 がインストールされている必要があります。
再起動の必要性
インストール時に、影響を受けるファイルを使用していない場合には、修正プログラムをインストールした後、コンピューターを再起動するには必要はありません。この修正プログラムをインストールする前に、Visual Studio 2010 に関連するすべてのコンポーネントを終了することをお勧めします。
この修正プログラムのグローバル バージョンには、次の表に記載されているファイル属性 (またはそれ以降のファイル属性) が含まれています。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。
ファイル名 |
ファイル バージョン |
ファイル サイズ |
日付 |
時刻 |
プラットフォーム |
Path |
---|---|---|---|---|---|---|
C2.dll |
16.0.40219.449 |
2,606,728 |
18-Apr-2013 |
18:09 |
x86 |
Microsoft Visual Studio の 10.0\VC\bin |
C2.dll |
16.0.40219.449 |
2,493,576 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio の 10.0\VC\bin\x86_amd64 |
C2.dll |
16.0.40219.449 |
2,593,928 |
19-Apr-2013 |
21:19 |
x86 |
Microsoft Visual Studio の 10.0\VC\bin\x86_ia64 |
C2.dll |
16.0.40219.449 |
2,960,008 |
19-Apr-2013 |
21:19 |
x64 |
Microsoft Visual Studio の 10.0\VC\bin\amd64 |
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、次のいずれかの方法を使用します。
-
/Od最適化コンパイラ オプションを使用して、最適化をオフにします。
-
有効にするかを関数単位での最適化をオフにするには、最適化のプラグマを使用します。
-
Microsoft Visual Studio 2012 にアップグレードします。
関連情報
最適化のプラグマの詳細については、次の MSDN web サイトを参照してください。
最適化プラグマに関する一般的な情報/O最適化オプションの詳細については、次の MSDN web サイトを参照してください。