在POSIX中,main(void)可以恢复命令行参数吗?

前端之家收集整理的这篇文章主要介绍了在POSIX中,main(void)可以恢复命令行参数吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C中,int main(int argc,char * argv [])真的需要接收程序参数吗?换句话说,当使用签名int main(void)定义main函数时,是否可以仅使用POSIX接口恢复程序参数?

我觉得我错过了一些东西,看到了:

> POSIX定义了多个接口以检索其他特定于流程的信息.例如,有环境变量的接口(可以说是继承自C99,但也扩展了像unsetenv()这样的函数)和主机标识(gethostid()).
>特定操作系统定义检索命令行参数的“全局”方法.例如,Windows提供GetCommandLineW和CommandLineToArgvW函数,HP-UX提供全局变量__argc_value和__argv_value. Linux有/ proc / self / cmdline,可以解析为argv和argc.

解决方法

POSIX规范不包括可以检索命令行参数的函数.所有指定的函数基本上都需要main()来协调传递argc和argv进行解析.

POSIX规范(IEEE 1003.1,2013版本 – 我写的当前版本)有一节描述标准实用程序使用的命令行语法(在“Shell和实用程序”卷中描述).但是,这些实用程序 – 当然足够 – 将使用POSIX函数,因此将使用调用它们的main(argc,argv)来实现.

猜你在找的C&C++相关文章