NotePublic/Software/Development/Language/C/GCC/GCC_扩展_库导出符号可见性.md

22 lines
568 B
Markdown
Raw Permalink Normal View History

# GCC 扩展 之 库导出符号可见性
通过以下方法可控制库将某些符号导出或隐藏:
```cpp
// 符号将被导出,动态库中的函数默认是可见的。
__attribute__ ((visibility("default")))
// 符号不会被放到动态符号表里,所以其它模块(可执行文件或者动态库)不可以通过符号表访问该方法。
__attribute__ ((visibility("hidden")))
```
示例如下:
```cpp
__attribute__ ((visibility("default"))) extern int ofmult(int a, int b, int x);
int ofmult(int a, int b, int x) {
return a*x+b;
}
```