有没有办法把C代码转换成JavaScript,再从JavaScript转换成C?我发现了V8 juice,它可以从C++生成JavaScript-side类,但它只有一种方法(从C++到JavaScript)。
我不是在找软件。
发布于 2011-03-04 19:31:00
非常,非常棘手- Javascript是一种高度动态的语言,几乎所有的东西都可以在运行时改变:变量的名称,函数,类型等等。因此,它非常糟糕地映射到C语言,这甚至没有考虑到eval(),它可以让你在字符串中构造任意的Javascript块并运行它们。
任何Javascript翻译器都必须能够处理这些事情,这意味着它必须在运行时将Javascript翻译成C-这使得它成为JIT,而您已经在使用它了。
您可能希望考虑为Javascript编写C绑定。这些将允许您的Javascript代码调用C代码,反之亦然。这将允许人们用C语言编写插件,将它们编译成.so共享库,现在你可以从你的Javascript代码中加载和运行这些库。这意味着你不需要翻译任何东西。
Javascript不是我的领域,所以我不能推荐任何特定的机制-但如果你已经找到的V8Juice不允许你这么做,我会感到非常惊讶。
发布于 2015-07-09 11:57:10
有一些编译器可以将JavaScript和TypeScript转换为C:
类似地,可以使用AssemblyScript将一些静态类型的JavaScript程序编译为WebAssembly,然后使用wasm2c将其反编译为C。
或者,也可以将JavaScript编译为另一个language that compiles to C
然后使用Cython或RPython将
将Lua代码转换为C
发布于 2013-12-03 16:59:45
当你可以简单地嵌入时,为什么要转换呢?
https://code.google.com/p/v8/ "V8可以独立运行,也可以嵌入任何C++应用程序中。“
通过嵌入到C++应用程序中,JavaScript可以访问C++应用程序有权访问的任何系统,而无需首先进行转换。不过,出于安全原因,我会限制is有权访问的内容。Web浏览器显然是嵌入到C++应用程序中的最突出的JavaScript形式。顾名思义,JavaScript是一种脚本语言,不像C代码那样被编译成汇编/机器代码。
https://stackoverflow.com/questions/5192223
复制相似问题