将巨大的应用程序从C重写/转换为JavaScript - 哪种方式?

时间:2016-09-09 17:40:27

标签: javascript

我想尝试将非常庞大的应用程序从C移植到JavaScript。我不想为此使用Emscripten。

由于我已阅读浏览互联网的提示 - 不建议使用工具进行自动翻译(生成凌乱的代码,难以维护/读取,错误和不稳定) - 更好地手动翻译代码(但是当你翻译真正大的应用程序时?)

第二个问题: - 包含外部库/头文件到C代码(SDL,OpenGL,...) - 需要也转换 - 任何应用程序(在成功编译之后)都可以依赖于运行的系统库吗? (例如Windows中的.dll文件,System32目录 - 可能无法将其包含在同一个项目中。

我非常感谢您的所有提示。

1 个答案:

答案 0 :(得分:1)

如果你根本不愿意使用emscripten,你唯一的选择是在Javascript中从头开始重写应用程序。 C代码的自动转换将不起作用,因为许多标准C API不可用并且没有直接转换为javascript。根本不可能包括外部C代码或头文件等内容。这就是emscripten可用于的目的,但由于您不想使用它,因此该选项也已用完。您可以使用WebGL而不是OpenGL。它本质上是OpenGL ES 2.0规范,只有一些修改。

仅仅是一些个人经历​​:我最近使用WebGL将一个非常大的C ++项目移植到Web上,我尝试了许多不同的策略来尝试重用C ++代码。所有这些都不成功。用Javascript重写应用程序是迄今为止最好的决定。我希望这对你有所帮助。如果您有任何其他问题,请随时给我留言。