您的位置 首页 软件

操控linux动态链接库导出函数

在linux中,我们可以通过-fvisibility=default

linux中,咱们能够经过-fvisibility=default|internal|hidden|protected来操控导出函数

在GCC协助文档 -fvisibility=default|internal|hidden|protected参数下有这样一段描绘:

a superior solution made possible by this option to marking things hidden when the default is public is to make the default hidden and mark things public. This is the norm with DLLs on Windows and with -fvisibility=hidden and “__attribute__ ((visibility(“default”)))” instead of “__declspec(dllexport)” you get almost identical semantics with identical syntax. This is a great boon to those working with cross-platform projects.

需求了解的是,在linux下,源文件中的一切函数都有一个默许的visibility特点,即为public,在编译指令中参加 -fvisibility=hidden参数,会将一切默许的public的特点变为hidden。此刻,假如对函数设置__attribute__ ((visibility(“default”)))参数,使特定的函数依然按默许的public特点处理,则-fvisibility=hidden参数不会对该函数起效果。所以,设置了-fvisibility=hidden参数之后,只要设置了__attribute__ ((visibility(“default”)))的函数才是对外可见的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/262421.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部