我知道谷歌的V8编译JavaScript本地机器(二进制,如果我理解正确)的代码。
有没有办法将输出转化为exe文件?如何将V8编译的JavaScript变成EXE?
回答
我不认为你可以直接把一段JavaScript到使用V8的可执行文件,但你也许可以作出这样的捆绑V8引擎使用JavaScript并运行它作为一个独立的应用程序。
你可以找到关于V8上its project page的所有信息。
还要注意JavaScript不能完全编译,因为它是一种动态语言。使用V8,它是JIT编译的(例如.NET)。尽管它仍然可以变成独立的可执行文件(例如.NET)。
如果您想开发独立使用HTML进行渲染的应用程序,您也可以看看Adobe Air。
JavaScript不能被编译一次。该语言有eval这是相当广泛的使用。 (例如JSON)您需要随身携带JIT和整个运行时。这里
JIT只是一个优化,不能摆脱编译器/解释器的方式。
Node.js嵌入V8。这可能是一个很好的学习范例。
已经有几次尝试在做的js为本地代码,它不是东西,可以在生产中通过任何方式使用,更多的学术兴趣。 Java的Rhino解释器有一个选项可以将js变成(java)字节码,所以一种方法是转换为字节码,然后从字节码转换为GCJ原生。有关于Rhino和GCJ的一些讨论,但我不知道是否有人曾经尝试过。 https://groups.google.com/forum/#!msg/netscape.public.mozilla.jseng/c3tqyLZ19fw/8V4HeuMtIXUJ
另一种方法是使用Python,具体PY-PY其本身是用Python编写的非标准子集称为rPython。 rPython不适合人类消费,但它的好处是可以编译为本地语言。一个有趣的(虽然很古怪)实验是将JavaScript编译为Python,然后在某些情况下,Python恰好可以作为rPython使用,并且可以使用rPython编译器编译为本机。
http://mozakai.blogspot.com/2010/07/experiments-with-static-javascript-as.html
如果.exe文件是非常重要的,我会捆绑V8与您的应用程序,因为即使你可以编译JS原生,你还需要一个完整的解释,如果你使用任何的eval()或类似。只要用户不介意8MB EXE文件或8MB V8.dll文件,将所有内容捆绑到.exe文件中都不难。
作为最后的思想,大G已经开始允许基于铬(谷歌:“Chrome封装应用程序”),“原生”的应用程序。他们具有低级别的系统访问权限,并且可以使用WebKit渲染器,允许您使用CSS和HTML创建GUI,并且他们拥有自己的窗口和图标,因此它们在chrome中运行并不明显。这可能还为时过早,但在桌面应用程序领域需要密切关注。
- 1. 的JavaScript编译在V8
- 2. 如何将cefpython编译为exe
- 3. 如何将Python编译为C++ .exe
- 4. 编译V8 JavaScript引擎更快
- 5. 将Crystal Reports编译为exe
- 6. 成功编译后,mingw编译器不会生成exe文件
- 7. 编译.exe程序时生成的.lib
- 8. 编译成功后无法找到exe
- 9. 如何反编译py2exe编译的exe文件?
- 10. Python编译为.exe
- 11. 编译V8的Hello World在Netbeans的
- 12. 如何将.ico文件与已编译的.exe文件合并?
- 13. 将.cpp文件编译为Program(exe)里面的.exe文件?
- 14. 将Python转换为C,然后用Cython编译成exe文件
- 15. 将C++(.cpp)编译为.exe文件
- 16. 将Perl脚本编译为.exe错误
- 17. 将IronPython代码编译为EXE或DLL
- 18. 将IronPython WPF项目编译为exe
- 19. 将C#编译为2个exe文件
- 20. 编译perl脚本的.EXE
- 21. 如何将Ruby编译为Javascript?
- 22. 如何将Haxe编译为JavaScript?
- 23. 在编译的exe中编辑字符串变量? C++的Win32
- 24. 如何将nana编译成静态库
- 25. 如何配置和编译已安装v8的ArangoDB
- 26. 如何将.exe反编译为jar文件?
- 27. 如何将C文件编译为可执行文件(.exe)?
- 28. 交叉编译 - 在mac上为android生成V8
- 29. JSDB如何从Javascript生成.exe文件?
- 30. 汇编程序:使用“Flat assembler”如何生成EXE文件(编译,链接..)?
我正在尝试做其他事情。 如何将JavaScript绑定到exe然后? – 2009-07-20 08:53:30
请参阅V8项目页面的“嵌入”部分。 – Blixt 2009-07-20 08:55:01