在main方法之前调用函数
在main方法之前调用函数
在main方法之前调用函数
**方法一:**根据glibc的全局构造函数是放在.ctors段中,的怪可以在.ctors段中添加一些函数指针,就可以让这些函数在全局构造的时候调用了,如下:
#include <stdio.h>
void my_init(void){
printf("Hello ");
}
typedef void(*ctor_t)(void);
//向.ctors段中添加一个函数指针
ctor_t __attribute__((section (".ctors"))) my_init_p = &my_init;
int main(){
printf("World!\n");
return 0;
}
**方法二:**利用gcc的关键字 __attribute__ ((constructor)),如下:
#include <stdio.h>
void my_init(void) __attribute__ ((constructor));
void my_init(void){
printf("Hello ");
}
int main(){
printf("World!\n");
return 0;
}