定義ABCの概念
その他 / / July 04, 2021
ギジェルアルシナゴンザレス、9月。 2017
共通の言葉がない人とどうやって仲良くすることができますか? 翻訳者を通じて。 この翻訳機能は、 コンパイラ に変わる コード プログラマーによって書かれた実行可能なソースコード。
コンパイルは、高級言語で書かれたプログラムが 実行のために、特定のコンピュータアーキテクチャで使用されるマシンコードに変換されます 直接。
したがって、私たちが提案したばかりの説明によれば、このシステムでは、 建築 宛先。これはそれぞれの場合で異なる可能性があり、プログラムを実行するさまざまなアーキテクチャごとに個別にコンパイルする必要があります。
したがって、たとえば、32ビットx86アーキテクチャ用の特定のプログラムである64ビットx86を進めることができます。 PowerPCまたはARMも、必要なデバイスのタイプに応じて、32ビットと64ビットを区別します それを実行します。
さらに、同じプラットフォームで作業している場合でも、異なるオペレーティングシステムを考慮する必要があります。 ハードウェア、それぞれが物理マシンと対話する方法が異なるため
例として、x8664ビットプラットフォームを取り上げましょう。 私たちはのためにコンパイルしたいかもしれません ウィンドウズ、GNU / LinuxまたはmacOS、あるいはそれらのすべてに対して、これは3つの別々のコンパイルプロセスを意味します。
時々、これは私たちにソースコードをわずかに微調整することを強制し、しばしば3つの別々のバージョン(またはそれ以上、 ケース)宛先プラットフォームの特性と違いと正しく相互作用するため。
コンパイルプロセスは、ソースコードの構文エラーの検出、次に プログラムに必要なリソースを知るために前処理され、最後にそのために必要なライブラリとリソースとのリンク 実行。
このように、 ファイル すべてを含む実行可能ファイル リソース その実行に必要なもの、および共有コードライブラリなどの外部リソースにアクセスするために必要な命令(共有).
コンパイルプロセスは、特定の1つまたは複数のツール(コンパイラ)を使用して実行されます。 これは開発環境(IDE)に統合されるのが一般的ですが、これにより容易になります。 その使用。
の各言語 プログラミング 独自のコンパイラを備えていますが、長い間、言語と環境に対応するコンパイラは、さまざまなプラットフォーム用の実行可能ファイルを生成することができました。 ソフトウェア 違います。
ビルドプロセスに代わるオプションはありますか? はい、そしてそれらは通訳言語です。
インタプリタ言語は、実行時に翻訳され、コンパイルされない言語です。
したがって、彼らのソースコードはいつでも利用可能であり、彼らが必要としているのは オペレーティング・システム それらが実行される上に、通訳がいます。
コンパイルプロセスを回避することにより、インタプリタが複数のプラットフォームで使用できる場合、 通常は変更せずに、プログラムをそれらのすべてで直接実行することが可能になります。
その他 フォーカス 代わりに、コンパイル言語とインタプリタ言語の中間にあるのは、Javaなどの仮想マシンを実行する必要がある言語です。
仮想化レイヤー(仮想マシン)上で実行されるプログラミング言語には、 コンパイルしますが、言語によって実行されるコードよりも最適化されていますが、直接実行できないコードになります。 通訳。
このような場合、コンパイルと同様の形式のプロセスが必要ですが、それでも結果が異なり、いずれの場合も、 インストール の ランタイム プログラムを実行するオペレーティングシステムで。
写真:Fotolia-Alexander Pokusay / Onot
コンパイルのトピック