7

Cは、私が調べてアセンブリから呼び出したcdeclを使用します。十分に感じられるのに、なぜ互換性を壊すのですか?別の大会が必要だったのはなぜですか。

4

1 に答える 1

5

同じ呼び出し規約を使用しても利点がないためです。Go は分割スタックを使用するため、呼び出し規則が同じであっても、Go コードと C コードは相互に直接呼び出すことはできません。

OTOH、gccgo では理にかなっています。gcc は一部のアーキテクチャで C 分割スタックをサポートしているためです。そして、IIRC、そこの呼び出し規約は互換性があるためです。(詳細はこちら

免責事項: gccgo を実際に使用したことはありません。

于 2013-03-31T22:54:08.463 に答える