e.g:
#define HELPER_API __attribute__((visibility("default")))
__attribute__((visibility("visibility_type
")))
此函数属性影响 ELF 符号的可见性。
Note
此属性是 ARM 编译器支持的 GNU 编译器扩展。
__attribute__((visibility("visibility_type
")))
其中,
是下列值之一:visibility_type
-
假定的符号可见性可通过其他选项进行更改。缺省可见性将覆盖此类更改。缺省可见性与外部链接对应。
-
该符号不存放在动态符号表中,因此,其他可执行文件或共享库都无法直接引用它。使用函数指针可进行间接引用。
-
除非由 特定于处理器的应用二进制接口 (psABI) 指定,否则,内部可见性意味着不允许从另一模块调用该函数。
-
该符号存放在动态符号表中,但定义模块内的引用将与局部符号绑定。也就是说,另一模块无法覆盖该符号。
default
hidden
internal
protected