2010-02-05 62 views
6

我向您Kernighan的&裏奇練習7.1如何用不同的名稱調用相同的程序?

編寫轉換大寫取決於它是與調用,名稱爲小寫或小寫字母爲大寫的程序...

如何用不同的名稱調用同一個程序?

我使用Linux,所以我輸入只是調用編譯的程序:

$/a.out的

,我應該怎麼做不同?

回答

8

你應該創建符號鏈接,或只是複製過程中的可執行文件:

要麼

$ ln -s a.out A.out 

$ cp a.out A.out 

然後在你的程序的main(),檢查argv[0]弄清楚如何行動。這是一種非常有用的技術,通常由生產軟件使用。

+0

只需複製文件,當然。從來沒有想過它會這麼簡單!我不覺得愚蠢。謝謝 – Tom 2010-02-05 14:34:14

+1

不要忘記使用* hard *鏈接的選擇:'ln a.out A.out'。比複製或符號鏈接更好,因爲它表達你的確切意圖:給一個文件兩個名字。 – dmckee 2010-02-05 15:28:11

+0

@dmckee:對,我想。我從不使用硬鏈接,但肯定。 – unwind 2010-02-05 16:07:12

2

你可以只將它複製到不同的文件:

cp a.out myprogram1 
cp a.out myprogram2 

Wallah,你的程序有不同的名稱。

+0

Wallah的+1,從來不知道如何拼寫 – Patrick 2010-02-05 14:31:15

+0

謝謝。只是沒有想到明顯的解決方案! – Tom 2010-02-05 14:43:14

+0

@patrick不知道我在拼寫正確 - 只是猜了一下,然後去了;) – 2010-02-05 14:44:32

相關問題