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

cpps: c++脚本的(伪)解释器。像用 Python 一样用 c++

  •  
  •   duyanning · 2019-08-11 19:34:37 +08:00 · 1935 次点击
    这是一个创建于 1720 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/duyanning/cpps/blob/master/README.chinese.md

    我做了个 c++脚本的(伪)解释器。
    可以这样执行 c++代码:
    cpps hello.cpp

    还能这样:
    chmod +x hello.cpp
    ./hello.cpp

    原理很简单,就是调用底层编译器(gcc/mingw/vc)进行编译,然后自动执行生成的可执行文件。
    但其实又比这个复杂点,因为支持多个.cpp ,还支持预编译头文件。
    目前支持 GCC/MinGW/Visual C++做底层编译器,也就是你机子上得装这三者之一才行。

    嗯,看上去是个解释器,其实是个 make 类工具。
    求 bug 报告
    2 条回复    2019-08-12 14:23:38 +08:00
    ipwx
        1
    ipwx  
       2019-08-11 22:10:19 +08:00 via Android
    比起 cling 你有啥优势?
    duyanning
        2
    duyanning  
    OP
       2019-08-12 14:23:38 +08:00
    @ipwx 定位不一样,cling 还有更早的 cint,目的是在程序中嵌入 c++解释器。cpps 的优势是速度(因为会缓存编译结果)、build system(支持多文件、各种编译选项)。可以这样类比,cling 对标的是在其他程序中嵌入的 python 解释器以及 python 的 REPL 环境。而 cpps 对标的是独立的 python 脚本以及 make。cpps 距离程序员的日常工作更近,比如:cpps 可以自动调用 Qt 的 moc 对.h 进行处理,并将产生的.cpp 加入项目。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1769 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:47 · PVG 00:47 · LAX 09:47 · JFK 12:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.