【问题标题】:What changes would have to be made to JavaScript to make it compilable to binary?必须对 JavaScript 进行哪些更改才能使其可编译为二进制文件?
【发布时间】:2012-08-14 10:23:56
【问题描述】:

必须对 JavaScript 进行哪些更改才能使其可编译。我并不是说要变成仍然依赖解释器的可执行文件——我的意思是让它以 C 编译的方式编译成二进制文件。

我预计原型继承可能是个问题 - 但我不知道。

另外,我很确定eval 是不可能的(或不希望的)。

有什么东西正在尝试做这样的事情吗?

技术上可以实现吗?

是否可以使用 JavaScript(经过一些小的修改)来创建高效的程序?


编辑

我正在专门寻找类似于 RPython 之于 Python 的东西——但用于 javascript。

对于我想要的编译语言来说,动态类型似乎很困难/不可能。

【问题讨论】:

  • 我看不出尝试这个的意义,你能在你的问题中添加一个例子吗?
  • 我认为 javascript 是唯一(并且仍然不太可能)的统一语言候选者,因为它无处不在。然而,它需要克服几个基本问​​题才能在非浏览器环境中使用。一是性能,我只能通过像 c 那样编译成字节码来提高性能。
  • 值得注意的是,许多 JavaScript 引擎已经依赖于即时编译。 “[IonMonkey] 编译器可以在 ARM、x86 和 x86-64 平台上生成 JavaScript 函数的快速本地代码翻译。” - en.wikipedia.org/wiki/…

标签: javascript


【解决方案1】:

我认为原型继承没有任何问题。事实上,eval 可能无法工作,除非有某种 JS-VM 可以即时编译它。

至于它需要什么真正有用,我认为从 C/C++ 库调用函数的能力是最重要的。没有它,你将无法做任何有用的事情。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    相关资源
    最近更新 更多