【发布时间】:2016-06-07 08:55:17
【问题描述】:
对于我的家庭作业,我刚刚编写了一个 c++ 程序,当你运行它时应该提供一个命令行参数(例如-l)。现在,我需要在 Unix 中编译和运行我的程序。所以,我需要一个 makefile 和一个 bash 脚本(名称是 cddb)来调用我的程序。
我的问题是两个文件的顺序。要求就像我应该输入cddb -l 来运行程序。那么,是不是我应该编写一个调用makefile并将参数传递给makefile的bash脚本。然后makefile取参数并编译运行我的cpp文件?
【问题讨论】:
-
makefile 告诉
make如何构建你的程序,就是这样。然后,您只需像运行任何其他命令或程序一样运行您的程序。例如。如果您的程序可执行文件在当前目录中,则执行./cddb -l。不需要 shell 脚本。 -
我不明白你为什么需要一个 bash 脚本。只需在 makefile 中执行所有操作(有一个目标
run:左右)。 -
我不明白您为什么需要 makefile 或 bash 脚本。家庭作业程序很少复杂到需要生成文件,而且您不需要 bash 脚本来运行程序。
-
听起来您需要要么 bash 脚本 或 Makefile 来构建程序。初学者经常将编译命令放入 bash 脚本中,然后学习如何构建 Makefile。只需将用于构建程序的任何命令放入名为“build.sh”之类的文本文件中并使其可执行(
chmod u+x build.sh),然后使用它来构建程序。./build.sh -
或者构建并执行;
g++ cddb.cpp -o cddb; ./cddb -l。如果您愿意,编写包含相同命令的Makefile显然并不难,但如果您总是想按顺序运行它们,那么您只需要在 Bash 历史记录中包含它。
标签: c++ linux bash unix makefile