VisualStudio2005のcl.exeコンパイラを使用しています。たくさんの/I/ Dといくつかのコンパイル/最適化フラグ(例:/ Ehsc)を使用して呼び出します。
2つのコンパイルスクリプトがあり、どちらも/ Iフラグのみが異なります(インクルードディレクトリは異なります)。他のすべてのフラグは同じです。これらのスクリプトは、さまざまなオブジェクトファイルを生成します(以下に示すように、タイムスタンプの違いだけではありません)。奇妙なことに、両方のスクリプトの/E出力が同じです。これは、インクルードファイルがオブジェクトファイルの違いを引き起こしていないことを意味しますが、繰り返しますが、違いはどこから来ているのでしょうか?
私の状況で2つの異なるオブジェクトファイルがどのように表示されているかを誰かが説明できますか?インクルードファイルが違いを引き起こしている場合、どうして同じ/ E出力が表示されるのですか?
PS。オブジェクトファイルは、タイムスタンプだけでなく、コードセクションでも異なります。実際、私の最終的な実行可能ファイルの動作は、どちらの場合も異なります。
編集:PSS:cl.exeの/ includeFiles出力を見ても、その出力は同じです。ただし、オブジェクトファイルはタイムスタンプだけでなく異なります(実際、1つはもう1つより1KB大きいです!)