2010-11-20 134 views
1

如果我稱之爲:爲什麼將程序名稱作爲參數傳遞給main?

./program hello world 

則:

argc would be 3. 
argv[0] would be "./program". 
argv[1] would be "hello". 
argv[2] would be "world". 

什麼是傳遞 「./program」 作爲參數的目的是什麼?事實上,這根本不是一個爭論!

回答

2

一個用途是讓應用程序可以知道它是如何調用的(本質上是它自己的名字)。

請注意,argv[]中出現的是實現定義的。例如,如果您使用某個UNIX exec()函數,則其內容可以是任何您喜歡的內容。

+0

全部清楚。謝謝! – bluehallu 2010-11-20 21:00:46

4

您可以製作符號鏈接到同一個二進制文件。根據你使用的鏈接,你會得到不同的行爲。 Busybox就是一個例子。

2

...你可以做出一個很好的幫助功能,當被調用時顯示一個幫助文本,當可執行文件的名稱改變時不需要更新。

相關問題