当前位置: 技术问答>linux和unix
在Linux库中, 如何禁止导出函数?
来源: 互联网 发布时间:2016-03-21
本文导语: 在Linux库中, 如何禁止导出函数? 比如在windows中用__declspec(dllexport) 导出函数,如果没有的话就不能导出函数. 注意,导出的库,用nm等命令不能查询到. | 这个问题用visibility("hidden"), 不过需要编...
在Linux库中, 如何禁止导出函数?
比如在windows中用__declspec(dllexport) 导出函数,如果没有的话就不能导出函数.
注意,导出的库,用nm等命令不能查询到.
比如在windows中用__declspec(dllexport) 导出函数,如果没有的话就不能导出函数.
注意,导出的库,用nm等命令不能查询到.
|
这个问题用visibility("hidden"), 不过需要编译器支持
顺便问问, 高版本gcc编译的程序,用低版本的ld连接低版本的库, 这样可行否?
请指教
顺便问问, 高版本gcc编译的程序,用低版本的ld连接低版本的库, 这样可行否?
请指教
|
__attribute__ ((visibility("hidden")))声明为不导出
((visibility("default")))声明为导出
如果没有声明,则默认为导出。编译时加上-fvisibility=hidden选项默认为不导出。
((visibility("default")))声明为导出
如果没有声明,则默认为导出。编译时加上-fvisibility=hidden选项默认为不导出。
|
可以用一个类封装试试.
或是,用一个导出函数,来封装其它函数,用参数来指定调用那个函数.
或是,用一个导出函数,来封装其它函数,用参数来指定调用那个函数.
|
编译开关里加 -s