PHP是解释型语言还是编译型语言

WBOY
リリース: 2016-06-06 20:49:19
オリジナル
3147 人が閲覧しました

PHP是解释型语言吗?使用APC之后呢?

回复内容:

PHP是解释型语言吗?使用APC之后呢?

现在语言的发展,一门语言是否是解释型已经不那么容易分辨了。

你说PHP是解释型语言,Facebook很早就开发过hiphop编译器,将PHP编译成C++再编译成二进制。

你说Python是解释型语言,Cython是用python语法进行开发最后编译成二进制。

你说用解释器就是解释型语言,依赖于JVM的一大票语言要跟你急了。

解释型语言可以使用某种编译器,但它依旧解释型语言。语言解释器同样需要使用编译原理。判断一种语言是编译器还是解释器,需要看该语言是否需要一个虚拟机(解释器)才可以运行。

通常,解释型语言使用前被编译为字节码,虚拟机动态执行字节码。为了提高性能,虚拟机执行代码时,可以利用 JIT 技术来动态的把字节码翻译成机器码。

因为字节码它不可能脱离虚拟机运行,因此它依旧是解释型语言。简而言之,编译型语言的编译(编译到机器码)发生在运行之前,解释型语言的编译发生在每一次运行时。


有些语言同时编译型解释型语言。可以在调试时使用解释器,调试后使用编译器。最著名的例子是 Lisp。有人曾在 Parrot 虚拟机上实现了 C 语言解释器,支持 C99 标准。

PHP是解释型语言,将PHP代码解释为opcode之后再交由Zend引擎执行。

使用APC只是缓存了opcode,减少了PHP解释为opcode这一步骤的时间而已。

解释型的

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート