0

我正在使用 Bruce Eckel 的“Thinking in C++: Volume 1”一书练习 C++。其中有一个使用 system() 命令调用其他程序的小程序。我已经在我的练习文件夹中用目标文件“Hello”编译了一个脚本“Hello.cpp”。我试图开始工作的代码可以在本书的第 108 页找到(在互联网上是免费的,只需谷歌标题和作者),内容如下:

//: cplusplus:CallHello.cpp
// Call another program
#include <cstdlib> //Declare "system()"
using namespace std;

int main (){
    system("Hello");
}///:~

当我运行此代码时,我收到错误:

sh: 1: Hello: not found

“Hello.cpp”在目录中,并且有关联的目标文件“Hello”,它运行得很好。这里有什么问题?

编辑:尝试解决问题的方法如下:更改为“Hello.o”或“Hello.exe”;将包含的头文件从 更改为 .

编辑:经过更彻底的阅读,我发现了为什么代码不起作用。基本上,函数 system() 的参数在命令行上执行命令。

4

2 回答 2

0

如果 Hello 是可执行文件,则使用 system("./Hello");

目录中是否有执行可执行文件的源代码也没关系

于 2013-07-18T15:44:30.147 回答
0

我的猜测很疯狂,但请尝试 system("./Hello");

它闻起来像一个路径问题。

您要运行的 bin 是“Hello”,而不是“Hello.exe”或“Hello.a”或“Hello.elf”之类的,是吗?

于 2013-07-18T15:45:31.810 回答