在每个C主函数的开头添加几行

在每个C主函数的开头添加几行,c,C,我有一个项目,其中有许多文件包含主函数,我想在每个主函数的开头添加一些初始化代码,而不直接对源文件进行任何更改。也许通过某种包装器函数?我不知道如何实现这一点。谢谢你的帮助。如果你是用gcc编译的,你可以看看链接 例如: void runBeforeMain(void) __attribute__ ((constructor)); 包含的头文件中的声明等 函数定义可以在后面 作为第二个选项,您可以查看makefiles。如果您没有将单词main用于任何其他变量等,那么您可能可以这样做 #de

我有一个项目,其中有许多文件包含主函数,我想在每个主函数的开头添加一些初始化代码,而不直接对源文件进行任何更改。也许通过某种包装器函数?我不知道如何实现这一点。谢谢你的帮助。

如果你是用gcc编译的,你可以看看链接

例如:

void runBeforeMain(void) __attribute__ ((constructor)); 
包含的头文件中的声明等

函数定义可以在后面


作为第二个选项,您可以查看makefiles。

如果您没有将单词
main
用于任何其他变量等,那么您可能可以这样做

#define main(...) main(int argc, char** argv){\
/****    initialization stuff.   ****/\
/*get rid of the "{" in your original line*/ //

您可以将其放入公共头文件中,如果该文件存在,您可能已经将其包含在其他所有源文件中。如果不是,您可以在构建脚本中添加一个
-include xxx.h
标志(不确定这是否是非常可移植的,至少它适用于gcc和clang)。

谢谢!第一个解决方案有效!但是我想知道使用makefile怎么样?你能举例说明吗?