Qpro: 基于命令行的C/CPP项目

环境

  • Qpro基于gcc/g++/clang/...python3,
  • 请确保电脑在拥有Python环境的同时, 至少安装了一套C/CPP编译指令.

功能

  • 提供脚本在命令行里高效***运行C/CPP项目***。
  • 提供***模板管理器***,轻松将代码保存和导出。
  • 提供***对拍器***,轻松进行程序输出结果的对拍或进行文本文件的对比。

特殊说明

  • Qpro对CLion的特殊支持: 在CLion项目中,Qpro可以自动将其初始化为Qpro项目

  • 任意一个包含C/CPP文件的文件夹都可以成为Qpro项目, Qpro不会对原IDE项目产生影响

  • 一个文件夹可以同时是Qpro项目和其他IDE项目

安装:

  • pip3 install Qpro [--upgrade]

使用:

Command Result
Qpro -init 将当前文件夹初始化为Qpro项目
Qpro -h 查看帮助
Qpro -update 更新Qpro
Qpro -adjust 修改配置表
Qpro -scp path 将项目内文件夹或文件上传到默认服务器
Qpro -scp-init 将整个项目上传到默认服务器
Qpro -c project 创建一个Qpro项目
tmpm * 调用模板脚本,刷新项目中的默认源文件
run * 使用运行脚本运行你的项目
detector [-[p/f][p/f]] 运行对拍器(对拍器只能在Qpro -init后的文件夹下运行)

初始化后的项目,可以手动编辑配置表project_configure.csv来调整配置。

配置表

  • 修改project_configure.csv来调整脚本默认配置

    键值 含义 默认
    compile_tool (编译工具, 编译后缀) (gcc, '') / (g++, '') / ...
    compile_filename 待编译的文件 main.cpp / main.c
    executable_filename 编译出的可执行文件名 项目名
    input_file 默认的输入文件 ./cmake-build-debug/input.txt
    template_root 默认的模板库根目录 template/
    server_target 默认的服务器映射位置 空/user@ip:dir_path/
  • 运行Qpro -adjust修改配置表: GUI

运行脚本:

  • 编译或运行

    参数 含义
    -b 编译
    -r 运行
    -br 编译且运行

    如果上述三个命令都不存在,则默认运行当前编译好的程序

    参数 含义
    -f *.c / *.cpp 设置目标源文件为*.c / *.cpp
  • 输入输出:

    • 可以编辑 默认的输入文件 来设置默认输入
    • 运行 run [...] > output.txt 使程序输出到 ./output.txt
    参数 效果
    -i 使用默认的输入文件作为输入
    -if *.* 更改输入文件
    -if -paste 使用粘贴板内容作为输入
  • 程序的额外命令行参数:

    • 所有未被run命令匹配的参数都将按顺序传递给源程序。
  • 查看帮助

    • run -h : 可以查看使用帮助(Windows系统不支持颜色显示) help
  • 推荐的命令示例:

    命令 效果
    run -i 使用默认输入文件并运行
    run 运行
    run -br -i 编译且使用输入文件运行

模板脚本:

  • 使用

    命令 效果
    tmpm -h 查看帮助
    tmpm -r 选择备份并恢复
    tmpm -r backup 恢复为template/backup
    tmpm -c backup 创建或覆盖template/backup
    tmpm -c template algorithm 拷贝指定位置, 创建模板集并写入算法
    tmpm -a template algorithm 拷贝指定位置, 向模板集追加算法
    tmpm name /// __TEMPLATE__处插入name模板集内的模板
  • 关于指定位置: tmpm 将会把compile_filename中处于/// __START__/// __END__之间的内容识别, 并拷贝

对拍器

  • 使用: detector 来进行两个源程序运行结果的对拍,结果存储在当前目录下的./res.html
命令 效果
detector (-pp) 打开默认对拍器(文件1文件2都是程序)
detector -pf 运行文件1程序并将结果与文件2对比
detector -fp 运行文件2程序并将结果与文件1对比
detector -ff 对比文件1文件2的内容(你可以在任何位置调用)
  • 如果脚本未能自动打开./res.html, 你可以用浏览器打开它。

GUI

猜你喜欢

转载自www.cnblogs.com/Rhythm-/p/11828102.html