2016-06-07 128 views
-1

对于我的作业,我只写了一个C++程序,它应该在运行时提供命令行参数(例如-l)。现在,我需要在Unix中编译和运行我的程序。所以,我需要一个makefile和一个bash脚本(名字是cddb)来调用我的程序。使用命令行参数的C++的Makefile和Bash脚本

我的问题是两个文件的顺序。要求就像我应该输入cddb -l来运行程序。那么,是否应该编写一个bash脚本来调用makefile并将参数传递给makefile。然后生成文件采取了参数并编译并运行我的cpp文件?

+0

makefile告诉'make'如何构建你的程序,就是这样。然后你只需像其他任何命令或程序一样运行你的程序。例如。如果您的程序可执行文件位于当前目录中,则执行'./cddb -l'。不需要shell脚本。 –

+0

我不明白你为什么需要一个bash脚本。只要在makefile中做所有事情(有一个目标'run:'左右)。 –

+1

我不明白你为什么需要makefile或bash脚本。家庭作业程序很少足够复杂以至于不需要makefile,并且您不需要仅用于运行程序的bash脚本。 – molbdnilo

回答

0

命令行参数的想法是在运行时更改可执行文件的行为,因此如果您想要稍微不同的行为,则不需要重新编译源代码。

只需调用您的程序,如./cddb -l,并解析源代码中的命令行参数。为了解析参数,您可以使用在主函数签名中声明的变量,并使用变量argvargc