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

时间:2019-03-08 18:34:06

标签: c

我有一个项目,其中有许多文件包含主要功能,我想在每个主要功能的开头添加一些初始化代码,而无需直接在源文件上进行任何更改。也许通过某种包装功能?我不确定如何实现这一点。感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

If you are compiling with gcc, you can look at this链接的CSS上位子?

一个例子是:

void runBeforeMain(void) __attribute__ ((constructor)); 

包含的头文件中的声明,等等...

可以定义函数。

作为第二种选择,您可以查看makefile。

答案 1 :(得分:0)

如果您未将单词main用于其他变量等,那么您可以这样做

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

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