如果我打电话:
./program hello world
然后:
argc would be 3.
argv[0] would be "./program".
argv[1] would be "hello".
argv[2] would be "world".
将“./program”作为参数传递的目的是什么?事实上,它根本不是一个论据!
答案 0 :(得分:4)
您可以创建指向同一二进制文件的符号链接。根据您使用的链接,您将获得不同的行为。 Busybox就是一个例子。
答案 1 :(得分:2)
一个用途是让应用程序可以知道它是如何被调用的(基本上,它自己的名字是什么)。
请注意argv[]
中显示的内容是实现定义的。例如,如果您使用其中一个UNIX exec()
函数,则内容可以是您喜欢的任何内容。
答案 2 :(得分:2)
...你可以创建一个很好的帮助函数,在调用时显示帮助文本,当可执行文件的名称发生变化时不需要更新。