私はこれを尋ねる場所がわからないので、スタックオーバーフローが最適な場所でないと私は言い訳をします。LinuxとMac OS Xの.oファイル
gccを使ってLinux上で生成された.oファイルとMac OS X上の.oファイルの間に相違点があるかどうかは私の質問です。 Macで、またはその逆ですか?
私はこれを尋ねる場所がわからないので、スタックオーバーフローが最適な場所でないと私は言い訳をします。LinuxとMac OS Xの.oファイル
gccを使ってLinux上で生成された.oファイルとMac OS X上の.oファイルの間に相違点があるかどうかは私の質問です。 Macで、またはその逆ですか?
これらは全く異なっています。 OS XはMach-Oオブジェクトファイル形式を使用します。 LinuxはELFオブジェクトファイル形式を使用します。彼らは全く同じ目的を果たしますが、まったく異なる方法で行います。
同じフォーマットであっても、オペレーティングシステムのABIが異なるため、必ずしも互換性がありません。 SVR4もELF形式を使用しますが、LinuxではSVR4オブジェクトファイルを使用できません。 – Barmar
.oで終わるファイルはオブジェクトファイルです。コンパイラは、各ソースファイルを結合する前に、最終的な実行可能ファイルにオブジェクトファイルを作成します。 Mac OSはBSDコードベースに基づいていますが、LinuxはUnixライクなシステムの独立した開発です。つまり、これらのシステムは似ていますが、バイナリ互換ではありません。使用するOS上でコードをコンパイルするにはバイナリコードの互換性
は、それらを生成するために使用されるコンパイラに依存します。両方ともgccの場合は、同じものにする必要があります。 –