cmd.exe是否强制执行命令行实用程序的语法规则?

时间:2013-01-18 22:27:32

标签: command-line

我遇到了几个用C或C ++编写的命令行实用程序(CLU)程序。我见过的所有这些程序都使用一个减号来控制选项,然后是正在“打开”或“关闭”的名称。例如,gdal_translate

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

我的问题:为什么CLU程序会以这种方式使用减号?这只是一种被公认为良好实践的东西,是CLU程序在cmd.exe中工作所需要的东西,还是C / C ++需要的东西?

1 个答案:

答案 0 :(得分: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