在调用main函数之前,是否有方法解析命令行选项?
Is there a way to parse command line options before main function is called?
当C/c++程序被调用时:
./prog --arg=42
命令行参数被转发到main函数
int main (int argc, char* argv[])
,其中可以解析参数(或转发到执行解析的库)。
我想知道是否有可能在C运行时调用main函数之前拦截参数。因为我写了一个替换库,所以我不能使用像my_lib::init(argc, argv)
这样的init函数。
我知道一个函数的__attribute__((constructor))
,所以它在main被调用之前被调用,但是我不知道如何在这样一个标记的函数中获得命令行参数。
我认为没有标准的方法来拦截调用可执行文件的入口点main()
。
但是,您可以调整可执行文件的链接过程,例如可以使用ld
的--wrap
和-u
选项。在链接过程中还有其他替代符号的选项,请参考您的链接器手册。
相关文章:
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- 有没有办法让我编写一个可以在Windows和Linux上运行的命令行游戏?
- 如何从命令行使用 cmake 为有根的安卓设备制作可执行文件?
- 有没有办法根据命令行参数定义数组大小?运行时与编译时实例化?
- 是否有任何 MSBuild 命令行选项可以动态禁用 c++ 项目的代码分析?
- boost::P rogram_options 一种判断值是从命令行还是 ini 文件的方法?
- 在命令行程序中使用布尔值。找不到定义标志并检查它们是否在参数中的方法
- 是否有一个WinAPI可以从带有可选空格和其他参数的命令行获取文件名
- 在 C++ 中将命令行参数作为函数调用的简单方法
- 是否有等效的 %* 或 C 中的环境.命令行
- 用c++编写命令行接口的更好方法是什么
- 调试模板代码:在命令行上有哪些现代方法可以做到这一点
- 在c++中编译.c时会假定c++有任何命令行选项来将其视为.c
- 在调用main函数之前,是否有方法解析命令行选项?
- 有c++命令行吗?
- 命令行界面/C++。它与'normal' c++ 或 visual c# 有何不同?
- 是否有可能看到在运行命令行应用程序后执行了哪些行
- 将python命令行工具分发给他人的最简单方法
- 是否可以在运行时从命令行调用方法或传递参数
- 如果命令行有多个管道,如何获取用于调用程序的完整命令行