V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
einsxiao
V2EX  ›  分享创造

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

  •  
  •   einsxiao ·
    einsxiao · 2020-05-15 03:44:40 +08:00 · 2274 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    交互编程示例集合

    5 条回复    2020-05-15 12:42:58 +08:00
    jimmyismagic
        1
    jimmyismagic  
       2020-05-15 10:14:34 +08:00
    挺好玩的啊,怎么编译的?
    no1xsyzy
        2
    no1xsyzy  
       2020-05-15 10:26:23 +08:00
    草还能给 C++ 加上 gc
    jorneyr
        3
    jorneyr  
       2020-05-15 11:24:25 +08:00
    让用户输入试试:

    int x;
    std::cin >> x;
    einsxiao
        4
    einsxiao  
    OP
       2020-05-15 12:41:34 +08:00
    @jorneyr 还没有实现 标准输入. 需要重新做一个 替代品.
    einsxiao
        5
    einsxiao  
    OP
       2020-05-15 12:42:58 +08:00
    @jimmyismagic 把代码上传到服务器, 用 emcc 编译, 然后将编译得到的 wasm 回传到客户端, 然后执行之
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:35 · PVG 21:35 · LAX 05:35 · JFK 08:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.