为什么有的程序不需要编译就直接可以在linux使用?比如mongodb,是这些程序已经做好了编译了供你直接使用的吗?那么他是怎么做到系统之间不同版本兼容的?
欢迎选择我的课程,让我们一起见证您的进步~~
スクリプト言語で書かれたプログラムは、インタプリタに従ってオンサイトでコンパイルおよび実行できます。 その他はコンパイルされるため、ユーザーのコンパイル時間が節約されます。たとえば、rar 公式 Web サイトでは、コンパイルされた unrar バイナリ ファイルのダウンロードが提供されています。
では、彼はどのようにしてシステムの異なるバージョン間の互換性を実現したのでしょうか? 答えは、互換性がありません。 i386 命令セットによってコンパイルされたバイナリ ファイルは、ARM マシンでは実行できません。 ARM 上でコンパイルされていても、それぞれの命令セットには互換性がなく使用できません。たとえば、rar 公式サイトには ARM バイナリ ファイルが多数あり、どれも Xiaomi ルーターで直接実行できるものはないようです。
ユーザーがすぐにダウンロードして使用できるように、プラットフォームごとに異なるバイナリ バージョンを事前に提供します
はい、redis も同様です。 特に選択がなければ(32/64)、(linux/windows)互換性があります
バイナリ ファイルを直接実行できます
あなたが言及した mongodb は、mongo 公式 Web サイトでさまざまなプラットフォーム用にコンパイルされています。もちろん、ソース コードをダウンロードして自分でコンパイルすることもできます。
特に mongodb に関するものではない場合、Java が原因である可能性もあります
スクリプト言語で書かれたプログラムは、インタプリタに従ってオンサイトでコンパイルおよび実行できます。
その他はコンパイルされるため、ユーザーのコンパイル時間が節約されます。たとえば、rar 公式 Web サイトでは、コンパイルされた unrar バイナリ ファイルのダウンロードが提供されています。
では、彼はどのようにしてシステムの異なるバージョン間の互換性を実現したのでしょうか?
答えは、互換性がありません。 i386 命令セットによってコンパイルされたバイナリ ファイルは、ARM マシンでは実行できません。 ARM 上でコンパイルされていても、それぞれの命令セットには互換性がなく使用できません。たとえば、rar 公式サイトには ARM バイナリ ファイルが多数あり、どれも Xiaomi ルーターで直接実行できるものはないようです。
ユーザーがすぐにダウンロードして使用できるように、プラットフォームごとに異なるバイナリ バージョンを事前に提供します
はい、redis も同様です。
特に選択がなければ(32/64)、(linux/windows)
互換性があります
バイナリ ファイルを直接実行できます
あなたが言及した mongodb は、mongo 公式 Web サイトでさまざまなプラットフォーム用にコンパイルされています。もちろん、ソース コードをダウンロードして自分でコンパイルすることもできます。
特に mongodb に関するものではない場合、Java が原因である可能性もあります