我正在使用Bruce Eckel撰写的“Thinking in C ++:Volume 1”一书来练习C ++。它是一个使用system()命令调用其他程序的小程序。我已经在我的练习文件夹中编译了一个脚本“Hello.cpp”,其中包含目标文件“Hello”。我试图开始工作的代码可以在本书的第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()的参数在命令行上执行命令。
答案 0 :(得分:0)
如果Hello是一个可执行文件,那么使用system(“./ Hello”);
如果你在目录中有源代码来执行可执行文件就没关系
答案 1 :(得分:0)
我猜测但是尝试系统(“./ Hello”);
它闻起来像一个路径问题。
你要运行的bin是“Hello”而不是说“Hello.exe”或“Hello.a”或“Hello.elf”或者其他什么,是吗?