C++ 如何使我的makefile覆盖文件?

C++ 如何使我的makefile覆盖文件?,c++,linux,C++,Linux,据我所知,第一个命令编译program.cpp,第二个命令将输出发送到终端和文本文件 是否有一种方法可以调整此值,以便我: 使用“make”。查看程序提示。输出保存在Output.txt中 再次使用“/descript”或某些命令,并用新的输出覆盖output.txt 一般来说,我对linux命令还比较陌生,所以任何东西都会有帮助。在Makefile中包含makeclean函数可能会有所帮助 示例makeclean功能可能包括: descript: progam.cpp g++ pr

据我所知,第一个命令编译program.cpp,第二个命令将输出发送到终端和文本文件

是否有一种方法可以调整此值,以便我:

  • 使用“make”。查看程序提示。输出保存在Output.txt中
  • 再次使用“/descript”或某些命令,并用新的输出覆盖output.txt

一般来说,我对linux命令还比较陌生,所以任何东西都会有帮助。

Makefile
中包含
makeclean
函数可能会有所帮助

示例
makeclean
功能可能包括:

descript: progam.cpp
    g++ progam.cpp -o descript
    ./descript 2>output.txt | tee -a output.txt

然后,在
Makefile
descript
部分的开头插入
makeclean
,以自动删除以前的输出。

您的问题不清楚。没有什么能阻止你“使用”。/descript“或第二次使用某个命令”。如果你想用make实现自动化,你必须更具体地说明你想做什么,什么时候做。也许我不完全理解make是做什么的。我想如果我运行make,每次运行./descript它下面的命令都会正常运行?不管“./descript”是什么,它与
make
无关。真的吗?哦,哇。当我使用“/descript”时,它运行程序。我认为它与“descript:program.cpp”相关,因此当使用“/descript”时,它将在“descript:program.cpp”No.”下运行所有内容。您可以从“progam.cpp”构建它,而无需使用make,很好。“make”只不过是一种基于文件和时间戳执行命令的自动化方法。请阅读“make”的手册页面。descript:progam.cpp g++progam.cpp-o descript./descript 2>output.txt | tee-a output.txt所以我尝试使用make clean并在前面插入它。/descript。在这两种情况下,它们都很好地删除了先前的output.txt,但没有创建另一个output.txt。在这两种情况下,我都运行make并完成了程序。完成后,我用./descript重新运行了它,但没有出现新的output.txt。您应该在
make:
下调用
descript
使其可执行,您当前的
descript:
。make:progam.cpp make clean g++progam.cpp-o descript./descript 2>output.txt | tee-a output.txt哦,我明白了!非常感谢。
make clean:
    rm -f output.txt