現象
次のような状況を考えます。
-
Visual C++ アプリケーションを開発するのにには、Microsoft Visual Studio 2010 Service Pack 1 (SP1) を使用します。
-
ビット単位シフト演算子を使用して、アプリケーションのソース コード (<<または>>)。
-
ターゲット、x86 プラットフォームにアプリケーションを構成するとします。
-
/O2 (最大速度) または/Ox (最大限の最適化) の最適化オプションを使用してアプリケーションをコンパイルするとします。
-
アプリケーションを実行するとします。
このシナリオでは、ビット単位シフト演算子は、誤った結果を返すことがあります。
注 この問題は、Microsoft Visual Studio 2012 では発生しません。
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、それはこの資料に記載された問題のみを修正するものです。この特定の問題が発生したシステムにのみ適用してください。
この問題を解決するには、修正プログラムを入手するよう、Microsoft カスタマー サポート サービスに問い合わせてください。Microsoft カスタマー サポート サービスの電話番号とサポート コストに関する情報の完全なリストは、次のマイクロソフト web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注: 特別な場合では、まれに通常サポート コールの発生に料金 Microsoft Support 担当者は、特定の更新で問題が解決されると判断した。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
必要条件
この修正プログラムを適用するには、Visual Studio 2010 Service Pack 1 (SP1) がインストールされている必要があります。
再起動の必要性
影響を受けるファイルが使用されていない場合にこの修正プログラムを適用した後コンピューターを再起動する必要はありません。この修正プログラムを適用する前に、Visual Studio 2010 に関連するコンポーネントを閉じることをお勧めします。
ファイル情報
この修正プログラムのグローバル バージョンには、次の表に記載されているファイル属性 (またはそれ以降のファイル属性) が含まれています。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。