首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将javascript代码转换为c代码

将javascript代码转换为c代码
EN

Stack Overflow用户
提问于 2011-03-04 18:00:14
回答 6查看 73.2K关注 0票数 59

有没有办法把C代码转换成JavaScript,再从JavaScript转换成C?我发现了V8 juice,它可以从C++生成JavaScript-side类,但它只有一种方法(从C++到JavaScript)。

我不是在找软件。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-03-04 19:31:00

非常,非常棘手- Javascript是一种高度动态的语言,几乎所有的东西都可以在运行时改变:变量的名称,函数,类型等等。因此,它非常糟糕地映射到C语言,这甚至没有考虑到eval(),它可以让你在字符串中构造任意的Javascript块并运行它们。

任何Javascript翻译器都必须能够处理这些事情,这意味着它必须在运行时将Javascript翻译成C-这使得它成为JIT,而您已经在使用它了。

您可能希望考虑为Javascript编写C绑定。这些将允许您的Javascript代码调用C代码,反之亦然。这将允许人们用C语言编写插件,将它们编译成.so共享库,现在你可以从你的Javascript代码中加载和运行这些库。这意味着你不需要翻译任何东西。

Javascript不是我的领域,所以我不能推荐任何特定的机制-但如果你已经找到的V8Juice不允许你这么做,我会感到非常惊讶。

票数 47
EN

Stack Overflow用户

发布于 2015-07-09 11:57:10

有一些编译器可以将JavaScript和TypeScript转换为C:

  • QuickJS使用嵌入式engine.
  • ts2c将JavaScript编译为C。C.
  • NectarJS将JavaScript和TypeScript源代码转换为JavaScript将JavaScript编译为C或WebAssembly。

类似地,可以使用AssemblyScript将一些静态类型的JavaScript程序编译为WebAssembly,然后使用wasm2c将其反编译为C。

或者,也可以将JavaScript编译为另一个language that compiles to C

然后使用CythonRPython

  • Compile JavaScript to Python,编译成C。由于这些编译器与Python的子集兼容,这应该允许将JavaScript的子集转换为C。
  • 使用Castl将JavaScript编译为Lua,然后使用lua2c.

将Lua代码转换为C

票数 38
EN

Stack Overflow用户

发布于 2013-12-03 16:59:45

当你可以简单地嵌入时,为什么要转换呢?

https://code.google.com/p/v8/ "V8可以独立运行,也可以嵌入任何C++应用程序中。“

通过嵌入到C++应用程序中,JavaScript可以访问C++应用程序有权访问的任何系统,而无需首先进行转换。不过,出于安全原因,我会限制is有权访问的内容。Web浏览器显然是嵌入到C++应用程序中的最突出的JavaScript形式。顾名思义,JavaScript是一种脚本语言,不像C代码那样被编译成汇编/机器代码。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5192223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档