JAVA と C++ の違いに関するウィキペディアの記事を読んでいます。1 つの違いは、C++ が「複数のバイナリ互換性標準」を提供することです。これが何を意味するのか説明してもらえますか、または良い参考文献を示してください。C++で「書かれた」バイナリは非常に移植性が高く、どのOSや環境でも使用できることを意味するという手がかりがあります。確認と精度を上げたいと思います。それはすべてについて何ですか?
バイナリを生成するには? ポータブルではない理由は何ですか?
ありがとうございます。
JAVA と C++ の違いに関するウィキペディアの記事を読んでいます。1 つの違いは、C++ が「複数のバイナリ互換性標準」を提供することです。これが何を意味するのか説明してもらえますか、または良い参考文献を示してください。C++で「書かれた」バイナリは非常に移植性が高く、どのOSや環境でも使用できることを意味するという手がかりがあります。確認と精度を上げたいと思います。それはすべてについて何ですか?
バイナリを生成するには? ポータブルではない理由は何ですか?
ありがとうございます。
とはint
どういう意味ですか? 2 つのパラメーターを使用して関数を呼び出す場合 - 最初のパラメーターをスタックの最初に置くか、最後に置くか。または、ヒープ上に構造があり、それを指していますか? 不明な数の引数を関数に渡すことを許可しますか? 文字列をどのように扱いますか。配列?スタック、ヒープ、またはプライベート メモリ ブロックに割り当てますか? 関数名を (オーバーロードを可能にするために) マングルしたり、ソース コードの入力として使用したりしますか? 構造体のメンバーを 8 ビット、16 ビット、または 32 ビットの境界で揃えますか?
これらすべての質問 (およびそれ以上の質問) は、あるバイナリーが別のバイナリーを呼び出す方法に大きな違いをもたらしており、ほとんどの場合、答えは単純ではありません。
Java は、バイナリ レイアウトがどのように正確に行われるかという点ではあまり提供しませんが (結局のところ VM であるため)、C++ は、考えられるほぼすべての要件に対応する優れた柔軟性を提供します。つまり、「バイナリ互換性標準を提供します」 Java(あなたの例では)