2016-06-07 125 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