函数可以访问传递给 main() 的参数吗?
Can a function access args passed to main()?
有没有一种方法可以在 main()
之外访问程序的参数而不存储对它们的引用?
程序参数存储在程序的保留 space 中,因此我认为没有理由无法访问它们。也许有类似 const char** get_program_arguments()
和 int get_program_arguments_count()
的东西,但我找不到它...
我的问题来自于我正在重写一个现在在公司内部的许多程序中使用的库,我需要在不更改它们的情况下访问这些程序的公共参数。例如,我需要程序名,但我不能使用 ::getenv("_")
,因为它们可以从各种 shell 中执行。我不能使用 GNU 扩展,因为这需要使用 gcc、CC 等在 Linux、AIX、SunOS 上工作。