V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mahaoqu
V2EX  ›  程序员

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

  •  
  •   mahaoqu ·
    mahaoqu · 2023-05-15 12:19:09 +08:00 · 1136 次点击
    这是一个创建于 556 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    2 条回复    2024-07-12 22:20:14 +08:00
    codecodify
        1
    codecodify  
       2023-05-15 12:33:50 +08:00
    我最近才刚刚练手,目前是自己写一些小功能,c++这方面资料题太少了。
    rust 用可以不用 wasm-pack ,cargo build 也可以编译,目前来看用 rust 写 wasm 还是挺舒服的,想先了解一些 wasm 内存机制后,应该还是会选择 rust
    rabbbit
        2
    rabbbit  
       132 天前
    确实感觉资料好少,楼主有找到最佳实践的项目吗?
    数组对象等参数和返回值应该如何处理、如何测试、项目的结构如何设计,一堆问题摸不着头脑。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1022 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.