__attribute__ ((visibility("default")))之类的函数怎么用
时间: 2023-11-29 14:08:13 浏览: 75
__attribute__
4星 · 用户满意度95%
`__attribute__ ((visibility("default")))`是GCC编译器的一个扩展,用于设置函数或变量的可见性。
当我们在编译动态链接库时,需要将一些函数或变量设置为外部可见,可以使用这个扩展。
例如,我们有一个函数`foo()`,需要设置为外部可见,可以这样写:
```c
__attribute__ ((visibility("default"))) void foo() {
// 函数体
}
```
这样,编译器就会将`foo()`设置为默认可见性,其他的模块可以调用它。
除了`default`,还有其他可见性选项,如`hidden`、`internal`等,可以根据需要选择使用。
需要注意的是,`__attribute__ ((visibility))`只对动态链接库有效,对静态链接库无效。
阅读全文