0

同じ C ソースを 2 回コンパイルしました。

  1. アーキテクチャ: x86、OS: Slackware 14 (32 ビット)、コンパイラ: gcc 4.7.1 (32 ビット)
  2. アーキテクチャ: x86、OS: Windows XP (32bit)、コンパイラ: gcc 4.4.1 (32bit)

アセンブラのリストを読んでいると、呼び出し規約 (System V i386 ABI と cdecl) は、名前の装飾 (最初のケースでは末尾の _ がない) と呼び出し先保存レジスタ (EDI、ESI、EBX vs EAX、ECX、EDX) を除いて、同じように見えることに気付きました。 )。

それは本当に本当ですか?
もしそうなら、名前の装飾を除いて、System V i386 ABI を cdecl の変種と見なしてもよいでしょうか?

ありがとうございました

4

0 に答える 0