在POSIX中,可以使用主(void)恢复命令行参数吗?
在C中, int main(int argc, char *argv[])真的需要接收程序参数? 换句话说,当使用签名int main(void)定义主函数时,是否可以仅使用POSIX接口来恢复程序参数?
我觉得我错过了一些东西,看到:
unsetenv() )和主机标识( gethostid() )等函数进行扩展。 GetCommandLineW和CommandLineToArgvW函数,而HP-UX提供全局变量__argc_value和__argv_value 。 Linux有/proc/self/cmdline ,可以将其解析为argv和argc 。 POSIX规范不包括可以检索命令行参数的函数。 所有指定的函数本质上都需要main()来编排传递argc和argv以进行解析。
POSIX规范(IEEE 1003.1,2013版 - 我写这篇文章时的最新版本)有一节描述了标准实用程序使用的命令行语法(在“Shell和Utilities”卷中有描述)。 但是,这些实用程序 - 自然就会使用POSIX函数,因此将使用调用它们的main(argc, argv)来实现。
上一篇: In POSIX, can a main(void) recover command line arguments?
