私の会社の私たちの中には、それについて主張している人がいます。ソースコードとコンパイラ(同じフラグ/スイッチでコンパイルされたコンパイラ)を指定すると、異なるOSで異なる動作をするバイナリをコンパイラが作成する可能性はありますか?同じコンパイラが異なるOSで異なる動作を作成する
具体的には、32ビットのWindows XPとWindows 7で実行するC#プロジェクトがあります。コンパイラはVS 2008です。ソフトウェアのビルドに使用するすべての必要なファイル、アセンブリ、プロジェクトなどを含むソリューションファイル(* .sln)があります。
同じソリューションファイルであるVS 2008でコード(同じソリューションファイル)をコンパイルすると、の動作の違いを持つバイナリが生成される可能性はありますかWindows 7でコンパイルされたバイナリよりも?与えられた状況で私が意味する行動の違いによって
... XPで期待どおりにXPのビルドが実行されます-
勝利7
- ザ・で期待どおりに勝利7のビルドが実行されます
- XPビルドでWindows 7でバグ(クラッシュや予期しない動作)が発生する可能性があります。
このプロジェクトは、あまりにも大きなテストプロジェクトを考え出すには大きすぎます。私は、上記が真実である場合にはどのようなケースがあるかを知りたい。
「バグ」とは何ですか? –
問題のバイナリをビルドします。バイナリ比較。異なっているものを見てください。私は彼らが同じになると思う。リリース版のみをビルドしてください。それ以外の場合は、マシン固有の情報がバイナリとpdbに追加されます。 – AMissico
Windows 7にのみ存在するネイティブAPIメソッドを呼び出すことに気をつけます。 – sq33G