如果你想从glibc中导出一个外部可见的函数或者变量,下面的方法都行不通
int my_extern_variable;
int my_extern_variable __attribute__((visibility("default")));
正确的做法应该是修改当前目录下的Versions文件,加入需要导出的函数或者变量名,如下
# m*
mallinfo; malloc; malloc_get_state; malloc_set_state; malloc_stats;
malloc_trim; malloc_usable_size; mallopt; memalign; mprobe; mtrace;
muntrace;
my_extern_variable; # <-- My exports
这种方法适用于2.9版本,其它版本没有尝试过。
至于为什么这么做可以而以上两种做法却不行,还在还没有仔细研究过。glibc实在太庞大了,编译太慢了...
阅读(819) | 评论(1) | 转发(0) |