yua*_*uan 1 c command-line-arguments
我知道这argv[0]代表了可执行文件名,但我不明白它是如何实现的 - 它如何在源代码级别获取文件名和选项.起初我以为它依赖于linux中的内置函数,但后来发现windows也支持它,让我相信它可能是由编译器完成的?
它实际上是C99标准的一部分,因此在编译器和操作系统中实现相同的实现.从5.1.2.2.1程序启动(第12页):
如果值
argc大于零,则指向的字符串argv[0]表示程序名称 ;argv[0][0]如果程序名不能从主机环境获得,则应为空字符.如果值argc大于1,则argv[1]through 指向的字符串argv[argc-1]表示程序参数.
编辑:跟进Waleed Khan的评论,您可以通过以下方式检索这些值:
/proc/self/cmdline_NSGetArgc/_NSGetArgv或[NSProcessInfo arguments]GetCommandLine()用CommandLineToArgvW()| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |