有没有 C++ WebAssembly 工程化最佳实践?

2023-05-15 12:19:09 +08:00
 mahaoqu

目前有个项目想要复用已有的 C++代码库,然后在 Web 上重新写一个应用。

我们现在一直在用 emscripten 。不过这个项目看起来是专注于移植现有完整应用,为大量 API 做了绑定,而且可以直接生成 HTML ,似乎没怎么考虑过写库这方面。

目前我现在就只能通过 C API 导出符号,然后在 Javascript 这边写一个文件把所有的函数都用ccall这样的指令包起来,涉及到异步就更麻烦。而且编译器生成的 wasm 文件要手动复制到前端项目里然后在 HTML 里单独写一个标签引入,很难和现有的前端生态融合起来。

Rust 这边的生态看起来比 C++要好,wasm-pack 能自动生成 TypeScript 类型,胶水函数和 ES6 模块,但这个项目似乎也不怎么维护了。

很好奇为什么社区对这个方向兴趣不大。不知道各位有没有什么相关方向的经验?

1085 次点击
所在节点    程序员
2 条回复
codecodify
2023-05-15 12:33:50 +08:00
我最近才刚刚练手,目前是自己写一些小功能,c++这方面资料题太少了。
rust 用可以不用 wasm-pack ,cargo build 也可以编译,目前来看用 rust 写 wasm 还是挺舒服的,想先了解一些 wasm 内存机制后,应该还是会选择 rust
rabbbit
81 天前
确实感觉资料好少,楼主有找到最佳实践的项目吗?
数组对象等参数和返回值应该如何处理、如何测试、项目的结构如何设计,一堆问题摸不着头脑。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/940083

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX