有意思的更新: C++程序编译成 wasm 在文档中交互执行

2020-05-15 03:44:40 +08:00
 einsxiao

如题, Docrun 最近加入了 C++交互支持(支持 11 到 20 标准, 不支持 98/03)

以前一直不知道怎么做(觉得在服务器运行没有意思, 不喜欢, 考虑过调用本地 C++环境, 但如果本地有环境了, 我还要再笔记上码 C++是为了啥, 一直没有动手).

最近总是被问到能不能跑 c++. 突然想到, Docrun 上的 Pond 不就是 c++写的嘛! 遂思路通顺, 就直接把代码编译成一个 wasm 模块, 然后载入执行就好了. 由于是在 worker 里面跑的, 暂时还没有实现 cin 和 scanf. 不过预计实现并不复杂, 以后会加上.

交互编程示例集合

2274 次点击
所在节点    分享创造
5 条回复
jimmyismagic
2020-05-15 10:14:34 +08:00
挺好玩的啊,怎么编译的?
no1xsyzy
2020-05-15 10:26:23 +08:00
草还能给 C++ 加上 gc
jorneyr
2020-05-15 11:24:25 +08:00
让用户输入试试:

int x;
std::cin >> x;
einsxiao
2020-05-15 12:41:34 +08:00
@jorneyr 还没有实现 标准输入. 需要重新做一个 替代品.
einsxiao
2020-05-15 12:42:58 +08:00
@jimmyismagic 把代码上传到服务器, 用 emcc 编译, 然后将编译得到的 wasm 回传到客户端, 然后执行之

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

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

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

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

© 2021 V2EX