有什么方法可以将 C 代码转换为 JavaScript 以及从 JavaScript 转换为 C 代码吗?我发现 V8 juice
可以从 C++ 生成 JavaScript-side
类,但这只是一种方式(C++ 到 JavaScript)。
我不是在寻找软件。
原文由 Wassim AZIRAR 发布,翻译遵循 CC BY-SA 4.0 许可协议
有什么方法可以将 C 代码转换为 JavaScript 以及从 JavaScript 转换为 C 代码吗?我发现 V8 juice
可以从 C++ 生成 JavaScript-side
类,但这只是一种方式(C++ 到 JavaScript)。
我不是在寻找软件。
原文由 Wassim AZIRAR 发布,翻译遵循 CC BY-SA 4.0 许可协议
有一些编译器可以将 JavaScript 和 TypeScript 翻译成 C:
同样,可以使用 AssemblyScript 将一些静态类型的 JavaScript 程序编译为 WebAssembly,然后使用 wasm2c 将它们反编译为 C。
或者,可以将 JavaScript 编译为另 一种编译为 C 的语言:
原文由 Anderson Green 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
非常、非常棘手——Javascript 是一种高度动态的语言,几乎所有的东西都可以在运行时改变:变量、函数、类型等的名称。因此它非常糟糕地映射到 C。甚至没有考虑
eval()
,它可以让你在字符串中构造任意的 Javascript 块并运行它们。任何 Javascript 翻译器都必须能够处理这些事情,这意味着它必须在运行时将 Javascript 翻译成 C — 这使它成为您已经在使用的 JIT。
您可能想看看为 Javascript 编写 C 绑定。这些将允许您的 Javascript 代码调用 C 代码,反之亦然。这将允许人们用 C 编写插件,将它们编译成
.so
共享库,您现在可以从 Javascript 代码加载和运行它们。这意味着您无需翻译任何内容。Javascript 不是我的领域,所以我不能推荐任何特定的机制,恐怕 — 但如果您已经找到的 V8Juice 不让您这样做,我会感到非常惊讶。