1

我知道基本的 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'。

4

2 回答 2

4

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

Windows 世界通常将 - 或 / 作为标记。我也经常在 unix/bsd 世界中遇到 -- 。

于 2013-05-20T23:31:41.920 回答
4

这只是程序中设置选项的一种风格。它来自getoptUnix/Linux 等提供的库--。kc7zax 在他们的回答中提到的形式是这些选项的长形式(允许长标识符而不是单个字符)。

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

于 2013-05-20T23:35:44.673 回答