2013-01-18 66 views
0

我遇到了用C或C++編寫的幾個命令行實用程序(CLU)程序。所有這些程序,我已經看到控制選項使用減號後面是什麼它被打開或關閉的名稱。例如,gdal_translatecmd.exe是否強制執行命令行實用程序的語法規則?

gdal_translate -of GTiff -co "TILED=YES" utm.tif utm_tiled.tif 

我的問題:爲什麼CLU程序使用減號這樣?這只是一種被廣泛接受的良好實踐,一種CLU程序在cmd.exe中工作所需的東西,還是C/C++需要的東西?

+0

沒有「標準」。我猜很容易解析。 – OldProgrammer

+0

你在混合你的環境。 'cmd.exe'(這是一個shell)在windows中運行,並使用'/ opt'的約定,而Unix/linux等也有shell,即bash,ksh,zsh等標準,通過使用函數'getopts'(和其他方法)是'-o -p -t -i -o -n'。你可以在窗口中編譯一個unix命令,你仍然可以使用'-o'形式。你可以編寫你自己的本地windows cmd,也可以使用'-o'選項。祝你好運。 – shellter

回答

0

比較常見的,我會說是的參數的短/長期的形式,例如

-C <commit>, --reuse-message=<commit> 
    Take an existing commit object, and reuse the log message and the 
    authorship information (including the timestamp) when creating the 
    commit. 

這也許是因爲他們可以通過getopt_long解析。至於-of的風格,這當然是一個選擇,直到程序員,但需要一個自定義的解析器,我相信。

ref

相關問題