有没有针对JavaScript的本机机器码编译器?我不是在说VM。如果它不存在,它能做到吗?
由于语言的动态性,我想知道它是否可以编译成二进制。
发布于 2009-07-13 07:57:15
据我所知,目前还没有针对JavaScript的静态编译器。这在理论上当然是可能的;但是,JavaScript的静态编译需要一个非常重量级的运行时来支持它的所有特性(如动态类型和求值)。顺便提一下,当需要静态编译Python (另一种动态语言)时,PyPy开发人员最终创建了一种能够静态编译的语言,它是Python语言的一个非常有限的子集(称为RPython),没有Python的一些更动态的特性。
如果您这样问的目的是为了从JavaScript代码创建独立的可执行文件,我敢肯定肯定有一些包装器,它本质上会创建一个包含您的脚本和嵌入式JavaScript VM的可执行文件(遗憾的是,我不知道有没有)。
发布于 2009-07-13 07:48:23
这绝对是可行的,尽管目前我知道的唯一方法是分两步走……
使用类似于GNU's GCJ.的Mozilla Rhino JSC.
但是你为什么要这么做呢?你希望找到什么优势?
发布于 2015-02-08 20:56:06
谷歌V8引擎将JavaScript编译成本机代码。这个特性在我为node.js和io.js项目编写的EncloseJS编译器中使用。
https://stackoverflow.com/questions/1118138
复制相似问题