前言
工作中遇到__attribute__((section(x))) 相关的代码,在这里记录一下。
我的项目用__attribute__((section(x))) 来做初始化。
一、代码
#define __used(x) __attribute__((used, __section__(x)))
#define __define_initcall(fn, id) \
static const initcall_t __initcall_##fn##id \
__used("initcall" #id "init") = fn;
/*
注意:
1. 这是错误的:__used("initcall_" #id "_init") = fn; 不能有下划线。
2. #define __used(x) __attribute__((used, __section__(x))),这里的used如果不加,可能会被优化掉。
*/
2. 参考:
- https://blog.csdn.net/qq_42370291/article/details/103639349
- https://blog.csdn.net/seven_feifei/article/details/95947358
1495

被折叠的 条评论
为什么被折叠?



