【发布时间】:2021-12-05 01:53:52
【问题描述】:
我希望将一些大量使用异常的 C++ 代码编译到 wasm 目标中。不幸的是,大多数浏览器都没有打开 Webassembly 异常处理(我相信只有 Chrome 在标志 chrome://flags#enable-webassembly 后面支持它),并且在 emscripten 如何将异常包装到 javascript try/catch 中存在巨大的性能损失。我们注意到,当标志打开或关闭时,性能会下降 2 倍。
我相信对此的简短回答是“否”,但我想知道是否有已知的方法可以将带有异常的 C++ 代码转换为完全不使用异常的 C++ 代码(即使在父级中也不行) wrapper) 无需手动翻译。
【问题讨论】:
-
“无需手动翻译”是否意味着无需编辑代码?您是在问如何在不更改代码的情况下更快地编写代码?
-
@DrewDormann 不,如果有转译器或其他东西,我的意思更多,而不仅仅是“从头开始重写代码以不使用异常”。
标签: c++ google-chrome exception webassembly emscripten