我得到了emscripten的工作方式,但它会生成巨大的自执行文件。是否有可能让emscripten生成我想优化的小函数,以便我可以将它们轻松复制粘贴到我现有的应用程序中?将asm放入现有的JS应用程序
谢谢!
我得到了emscripten的工作方式,但它会生成巨大的自执行文件。是否有可能让emscripten生成我想优化的小函数,以便我可以将它们轻松复制粘贴到我现有的应用程序中?将asm放入现有的JS应用程序
谢谢!
我建议不要从Emscripten生成的输出内部复制/粘贴一些生成的函数,除非您已经确定浏览器中ASM/Javascript的带宽/编译是影响性能的限制因素应用程序。沿着我怀疑的路线走下去会让更新充满痛苦,除非必要,否则我会避免这种痛苦。
我认为是更好的方法是使用的技术在Code Size section of the Emscripten docs
一些相当简单的方法是:
使用NO_FILESYTEM督促Emscripten不包括某些标准库(假设你不需要它们)。
使用NO_BROWSER,如果你能
使用NO_EXIT_RUNTIME不包括退出时所需的一些功能。
与优化标志摆弄,但根据the docs-O2
提供
最小,最快的输出。
这是可能的,但没有很好的记载尚未:你可以使用--separate-asm
标志。见
https://gist.github.com/wycats/4845049dcf0f6571387a
和
https://gist.github.com/kripken/910bfe8524bdaeb7df9a
的例子。
如何创建一个模块并导出它,然后从你的js代码中导入并调用它? –
那么,复制/粘贴不一定是我更喜欢的方法,更多的是输出数千行。 – SapphireSun
你从哪里阅读关于复制粘贴的任何讨论?我犹豫地问这个问题,但是你甚至知道js模块是什么吗? –