用 __attribute__ 将函数注册到.ctors段 使接口在main之前执行
2012-11-25 22:49
399 查看
#include <stdio.h>
void my_init()
{
printf("Hello ");
}
typedef void (*ctor_t)(void);
ctor_t __attribute__ ((section(".ctors"))) my_init_p = my_init;
int main()
{
printf("world \n");
return 0;
}
输出:Hello world
该程序等同于
#include <stdio.h>
void my_init(void) __attribute__ ((constructor));
void my_init()
{
printf("Hello ");
}
int main()
{
printf("world \n");
return 0;
}
void my_init()
{
printf("Hello ");
}
typedef void (*ctor_t)(void);
ctor_t __attribute__ ((section(".ctors"))) my_init_p = my_init;
int main()
{
printf("world \n");
return 0;
}
输出:Hello world
该程序等同于
#include <stdio.h>
void my_init(void) __attribute__ ((constructor));
void my_init()
{
printf("Hello ");
}
int main()
{
printf("world \n");
return 0;
}
相关文章推荐
- c 语言模块接口函数在main之前注册
- 面试中那点超乎你想象的题目:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作
- 面试题:C++中如何在main()函数之前执行操作?
- __attribute__((constructor)) 修饰的函数在main函数之前执行
- 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作?
- C++能不能在main之前执行自己的函数--答案是可以的
- C/C++中如何在main()函数之前执行一条语句?
- C++中如何在main()函数之前执行操作?
- main之前和之后(可)执行哪些函数(操作)
- C++中如何在main()函数之前执行操作?
- 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?
- C++中如何在main()函数之前执行操作?
- 使用sqlite3(数据库知识)的接口函数完成一个用户注册功能模块设计 要封装成函数,在独立的main中调用测试
- 可以在main函数之前执行的函数
- 单元测试与main前运行函数__attribute__((constructor))关键字
- spring在controller中,在执行其他方法之前,都先调用@ModelAttribute修饰的方法
- main之前会执行什么代码
- eclipse 中执行 main 函数如何添加参数