【问题标题】:Translating C to JavaScript [closed]将 C 转换为 JavaScript [关闭]
【发布时间】:2011-05-11 18:44:33
【问题描述】:

我在 C 中有一堆数学/dsp 算法。单个函数,每个文件一个函数,没有花哨的链接或包含或预处理器指令,只有 c99 和标准库调用(主要是 memset 和 memmoves 来处理数组复制等)。 翻译它们不是什么大问题,但需要时间。我想知道是否有一些 C -> Javascript 翻译工具,以加快工作速度。

请注意,我不需要完美的翻译,无论如何我都会关注最终结果。我需要一个简单的工具来帮助处理基本的、“无聊”的事情。

有人听说过这种事吗?

编辑:emscripten 似乎可以解决问题。

【问题讨论】:

  • C 语言允许使用指针的方式,这样的工具肯定会失败,除了最人为的例子。
  • 我不是在寻找一个可以理解指针逻辑的完美翻译器,我在寻找一个可以自动完成无聊部分的有点愚蠢的主力。

标签: javascript c code-translation


【解决方案1】:

更新:他们的时代似乎正在改变:)

见这篇文章:DOOM Ported to JavaScript and HTML5

Zakai 使用 Emscripten 和 Clang 将 DOOM 源代码从 C 编译为 JavaScript,并使用 Closure Compiler 对其进行优化。

这里是 Project page。玩得开心! :)

【讨论】:

  • 啊,我找到了方法:用 axiomsol.com 将 c 翻译成 Java,然后用 GWT 将 Java 翻译成 Javascript(开个玩笑)。
  • 无论如何:1)你解析 C,如果你意识到它是一个整数除法(你看看操作数的类型),你 Math.floor js 中的结果 2)你不在乎什么没用,你在翻译后的脚本中传递参数。这是多余的,不是错误的。请注意,我不寻找优化的翻译器,我会做优化。 3) 看起来更复杂,但您始终可以查看数组类型并计算要复制的元素数量。 3b) C 中的对象?您是在谈论结构还是在考虑 C 中的 OO 技术?
  • 查看我的更新,似乎有些人已经为 DOOM 工作了 :)
  • 我看到你找到了这个项目。为什么您接受的答案不在顶部?我已经错过了:)
  • 这个技巧使用它来模拟 CPU。真是……效率低下!但它有效:)
【解决方案2】:

仅供参考,Emscripten 正是这样做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-09
    • 2011-04-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2015-09-16
    • 2011-01-15
    相关资源
    最近更新 更多