如何将V8编译的javascript变成EXE?

the*_*row 9 javascript executable v8

我知道谷歌的v8编译javascript到本机(二进制,如果我理解正确)代码.
有没有办法获取输出并将其转换为exe?

Bli*_*ixt 7

我不认为你可以使用V8将一段JavaScript直接转换为可执行文件,但你可以创建一个将V8引擎与JavaScript捆绑在一起并将其作为独立程序运行的应用程序.

您可以在其项目页面上找到有关V8的所有信息.

另请注意,JavaScript无法完全编译,因为它是动态语言.使用V8,它是JIT编译的(例如.NET.).仍然可以将它变成一个独立的可执行文件(例如.NET).

如果您想开发使用HTML进行渲染的独立应用程序,您也可以查看Adobe Air.


EFr*_*aim 6

Javascript不能只编译一次.该语言具有非常广泛使用的eval.(例如,对于JSON)您需要随身携带JIT和整个运行时.

这里的JIT只是一种优化,而不是摆脱编译器/解释器的方法.

  • @the_drow:问题在于,使用'eval'可以随时提供新的JavaScript代码. (5认同)
  • 是的,但请注意"它何时首次执行"部分.JavaScript不能完全编译为字节码,由于其动态特性,它必须在运行时进行编译. (3认同)
  • "V8首次执行时会将JavaScript源代码直接编译成机器代码.没有中间字节代码,没有解释器.属性访问由内联缓存代码处理,可以在V8执行时使用其他机器指令进行修补." (2认同)