C语言 attribute的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 attribute的问题相关的知识,希望对你有一定的参考价值。
1)#define __init_call __attribute__ ((unused,__section__ (".initcall.init"))) “__initcall_start”与声请的节名有关是吗,是不是 取节名initcall之前加上"__",后面加上“_start”表示指向节首地址 2)声请的节名 有要求吗 比如一定要加上“.exit”,“.init”,".text"和“.data”等名 3)attribute是如何通过地址去访问的呢 比如 我设置这样一个例子 struct aaa int a; int b; int *c; ; #define Struct_Section __attribute__ ((unused,section(".test.init"))) #define bbb(x, y, z) \ aaa bbb_##z Struct_Section = x, y, z 求解,谢谢
参考技术A 对于你的问题
不太明白。
#define
__init_call
__attribute__
((unused,__section__
(".initcall.init
")))
参考GCC说明,意思是说所有以__init_call
前缀
定义
的
函数
在链接
过程
中都放到名字为.initcall.init的段(section)里面。也就是说,如果一个函数冠以__init_call,那么它在编译链接的时候就会放到.initcall.init这个段里面。
C/C++系列C语言中__attribute__机制的使用
以上是关于C语言 attribute的问题的主要内容,如果未能解决你的问题,请参考以下文章
Android Attr -- Understanding Android Custom Attributes