2013-01-18 25 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

相关问题