c++ - 如何在 gedit 中使用外部工具交互式运行 C++ 程序

标签 c++ linux ubuntu gedit

我正在尝试使用外部工具直接在 gedit 中以交互方式运行我的 C++ 程序。

我已经编写了一个 Python 工具来编译它,但是当使用 os.system("./program.out") 时,程序的所有输入都设置为 0(但它是不过,执行正确)。

由于使用 Python 执行交互式操作会相当困难,我正在寻找另一种解决方案。

#!/usr/bin/env python3

import os

filename = os.getenv("GEDIT_CURRENT_DOCUMENT_NAME")
fout = "%s%s"%(filename[:len(filename)-4], ".out") #

os.system("c++ -o %s %s" % (fout,filename))

os.system("./%s" % fout)

编译工作完美无缺,但是 ./program.out 也没有使用 bash 给出想要的结果。 有什么建议吗?

最佳答案

我想我已经找到答案了。它可能不是最漂亮的解决方案,但它确实有效。

定义工具时,您可以在下拉菜单中选择输入,有一个选项可以将所选文本作为输入。

例如,如果您有一个从标准输入读取 3 个变量的程序,您可以在代码中添加注释,如 //1 3 2,仅选择数字,然后运行您的工具. 这些数字将按此顺序用作输入,不知何故它只适用于空格。

我猜想,实现此目的的一种残酷方法是扫描源代码中的输入调用,然后通过 gedit 工具中的 zenity 请求它们。

关于c++ - 如何在 gedit 中使用外部工具交互式运行 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58565091/

相关文章:

c++ - HOG特征相似度测量?

c++ - 如何在本地生成像干净组装一样的godbolt?

c++ - 在 C++ 中创建类时,我的标准库头文件放在哪里?

Gitlab无法在服务器上克隆,但可以在客户端克隆

c++ - 将范围拆分为统一的间隔

linux : how to compress each file individually in an archive tar/cpio/. ..其他

linux - QtQuick : Module is not installed

linux - Beagleboard-Xm Rev. C1 修改 boot.scr 后无法启动

Java 版本给我一个 "no such file or directory"

c++ - 创建共享对象时,不能使用针对符号 `ff_a64_muxer' 的重定位 R_X86_64_32;使用 -fPIC 重新编译