ホームページ  >  記事  >  バックエンド開発  >  PHPをコンパイルする必要はありますか?

PHPをコンパイルする必要はありますか?

王林
王林オリジナル
2019-09-16 17:53:117285ブラウズ

PHPをコンパイルする必要はありますか?

php はインタープリタ型言語ですが、コンパイルする必要があります。どれがコンパイル言語でどれがインタプリタ言語で、それぞれのメリットとデメリットは何なのかを紹介します。

コンパイル言語:

1. 特別なコンパイラ (Windows の Visual Studio と同様) を使用して、特定のプラットフォーム (オペレーティング システム) をターゲットにします。 -レベル言語のソース コードは、プラットフォームのハードウェアによって一度に実行される機械語コード (機械語命令とオペランドを含む) に「変換」され、プラットフォームによって認識される実行可能プログラム (.exe) 形式にパッケージ化されます。この変換プロセスは、と呼ばれます。編集。コンパイルされた実行可能プログラムは、開発環境から分離して、特定のプラットフォーム上で独立して実行できます。一部のプログラムはコンパイルされた後、他のコンパイル済みオブジェクト コードをリンクする必要がある場合があります。つまり、2 つ以上のオブジェクト コード モジュールをアセンブルして、最終的な実行可能プログラムを生成します。このようにして、低レベル コードの再利用が実現されます。

2. コンパイル言語のコードは一度コンパイルされ、繰り返し使用されます。つまり、先人は木を植え、子孫はその日陰を楽しんだのです。

3. C、C、Objective-C などはすべてコンパイル済み言語です。

インタープリタ型言語:

1.プログラム内 ソースプログラムは実行前に中間言語にプリコンパイルされ、その中間言語がインタプリタ

2によって実行されます。インタプリタ言語のプログラムを実行するたびに、インタープリター言語プログラムは一度コンパイルされるため、一般に実行効率が低くなり、インタープリターから独立して実行することはできません。

3、C#、PHP、Python、Java などはすべてインタープリタ型言語です。

コンパイル言語の利点:

1. コンパイル言語の最大の利点の 1 つは、その実行速度です。 C/C で書かれたプログラムは、Java で書かれた同じプログラムよりも 30% ~ 70% 高速に実行されます。

2. コンパイルされたプログラムは、解釈されたプログラムよりもメモリ消費が少なくなります。

短所:

1. 欠点 - コンパイラはインタプリタよりも作成がはるかに困難です

2. コンパイラはプログラムをデバッグしています当時はあまり役に立ちませんでした。C コードで「null ポインター例外」に何度遭遇し、コードのどこにエラーがあるのか​​を理解するのに何時間も費やしたことでしょう。

3. 実行可能なコンパイル済みコードは、同じ解釈されたコードよりもはるかに大きくなります。たとえば、C/C .exe ファイルは、同じ機能を持つ Java .class ファイルよりもはるかに大きくなります。

4. コンパイルされたプログラムはプラットフォーム固有であるため、プラットフォームに依存します。

5. コンパイルされたプログラムは、コード内でのセキュリティの実装をサポートしていません - たとえば、コンパイルされたプログラムはメモリの任意の領域にアクセスし、PC に対して必要な操作を行うことができます (ほとんどのウイルスはコンパイル済み言語を使用して作成されます)。

6. セキュリティとプラットフォームへの依存性が緩いため、コンパイル言語はインターネットまたは Web ベースのアプリケーションの開発には適していません。

インタープリタ型言語の利点:

1. 優れたデバッグ サポート。 PHP プログラマーが「null ポインター例外」を見つけて修正するには数分しかかかりません。これは、PHP 実行環境が例外の性質を示すだけでなく、例外が発生した特定の行番号と関数呼び出しシーケンスも示すためです (有名なスタックトレース情報)。このような利便性はコンパイル言語では提供されません。

2. インタプリタはコンパイラより実装が簡単です

3. 優れたプラットフォーム独立性

4. 高いセキュリティ - これはインターネット アプリケーションに緊急に必要です

5. 中間言語コードのサイズは、コンパイルされた実行可能コードよりもはるかに小さいです。

欠点:

1. より多くのメモリと CPU リソースを消費します。 。これは、インタープリタ型言語で記述されたプログラムを実行するには、まず、関連するインタープリタを実行する必要があるためです。インタプリタは複雑でインテリジェントなリソースを大量に消費するプログラムであり、大量の CPU サイクルとメモリを消費します。

2. 実行効率はコンパイルされたプログラムよりもはるかに遅くなります。インタプリタは多くのコードの最適化とランタイム セキュリティ チェックを実行しますが、これらの追加の手順により多くのリソースが消費され、アプリケーションの速度がさらに低下します。

上記の内容は参考用です。

推奨チュートリアル: PHP ビデオ チュートリアル

以上がPHPをコンパイルする必要はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。