/ Obnインライン化は、コンパイルパスの間にコードをインストルメントするときに、インストルメントされたコードのエラーを実際に引き起こす可能性があります。コードにはコンパイルの最初のパスが与えられ、一部のコードは可能なインライン化のためにマークされる場合があります。次に、すべてのインストルメンテーションを中間言語に追加します。次に、コンパイルの最終パスが作成され、インストルメンテーションを使用してコードをインライン化しようとすると、問題が発生する可能性があります。これが、可能であればインライン化を無効にし、必要に応じてエラーを生成する理由です。
どのVSバージョンを使用していますか?Devpartnerのどのバージョンですか?
メモリリークをキャッチするには、エラー検出を使用してコンパイルする必要があります。インライン化をオフにして、デバッグビルドのコンパイルも行うことをお勧めします。
編集私はVS2008とVS2010および現在の11.1リリース候補でいくつかのテストを実行しました
エラーは発生しませんでした
1>インストルメンテーションはインライン化をオフにするために(/ Ob0)を追加しています1> cl:コマンドライン警告D9025:「/Ob1」を「/Ob0」でオーバーライドします
警告1警告D9025:「/Ob1」を「/Ob0」でオーバーライドe:\ cust \ Anthony \ Test \ Test \ clテスト警告2警告D9025:「/Ob1」を「/Ob0」でオーバーライドe:\ cust \ Anthony \ Test \ Test \ cl Test
これらのメッセージは、インライン化を無効にしていることを示しています。警告をエラーとして扱う場合にのみ、これはエラーとして発生します。