破折号在Windows命令行语法中意味着什么?

时间:2013-05-20 23:27:13

标签: c++ windows command-line command-line-arguments

我知道基本的c ++编码和命令行语法。通常,main()函数如下所示:

int main(int argc, char *argc[])

当我通过命令行执行我的程序时,我就这样做了:

cd c:\path\to\foo 1

其中1是参数。当然,arc将等于'2','1'将位于数组argc的元素'1'(而不是0)。

我看过很多地方都使用过短划线。具体做法是:

gcc -v

如果我输入'gcc',它就说没有参数。如果我输入'gcc v',我会收到“错误:没有这样的文件或目录”。但是当我看一下gcc所在的minGW bin文件夹时,没有文件夹'v'。

2 个答案:

答案 0 :(得分:4)

它只是从可能存在的参数值中识别命令行参数名称的标准。例如gcc -o myfile.o

Windows世界通常会看到 - 或者/作为标记。我经常遇到一个 - 在unix / bsd世界中。

答案 1 :(得分:4)

这只是一种在程序中设置选项的方式。它来自Unix / Linux等中提供的getopt库.kc7zax在其答案中提到的--形式是这些选项的长形式(允许使用长标识符而不是单个字符)。

这些并没有什么神奇之处。它们只是从argv数组中解析出来。如果需要,您可以自己实现类似或相同的功能。但这是一种痛苦。这就是图书馆存在的原因。