Linux动态库函数的详解
作者:walkingman321 发布时间:2023-08-06 17:22:51
标签:Linux,动态库
Linux动态库函数的详解
加载动态库
void *dlopen(const char *filename, int flag);
flag的可能值:
RTLD_LAZY
RTLD_NOW
RTLD_GLOBAL
RTLD_LOCAL
RTLD_NODELETE (since glibc 2.2)
RTLD_NOLOAD (since glibc 2.2)
RTLD_DEEPBIND
这些flag的具体含义可使用man查看
返回动态库中最近的一次错误
char *dlerror(void);
根据动态库句柄和函数名称,返回函数的地址
void *dlsym(void *handle, const char *symbol);
如果使用dlopen(NULL, <flag>)得到句柄,通过这个句柄可以查找所有函数符号,只要那个函数符号所在的dll在加载时指定了RTLD_GLOBAL
关闭动态库
int dlclose(void *handle);
根据函数地址,返回函数名称和其它信息
注意传入地址只要落在函数代码空间范围之内即可,不需要是函数的起始地址
int dladdr(void *addr, Dl_info *info);
typedef struct {
const char *dli_fname;/* Filename of defining object */
void *dli_fbase; /* Load address of that object */
const char *dli_sname;/* Name of nearest lower symbol */
void *dli_saddr; /* Exact value of nearest symbol */
} Dl_info;
构造函数和析构函数(这两个是属性,而不是函数)
__attribute__((constructor))
__attribute__((destructor))
例如:
__attribute__((constructor)) void before_main()
{
printf("before main/n");
}
__attribute__((destructor)) void after_main()
{
printf("after main/n");
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/walkingman321/article/details/6118856


猜你喜欢
- 微软在MSDN IE blog上列举了开发者感兴趣的IE8 beta1的七大改进,其中包括CSS2.1的完整支持,HTML5的支持,内置开发
- 10月13日消息,记者获悉,第三方支付服务商——首信易支付 (PayEase) 近日荣获 &
- 1. 自我合理的定位与特色要善于选择他人从未涉及过的话题,不必受制于“关键字搜索”,也不能一味迎合G
- 说明自己装系统时一般都可以自定义选择系统语言。可是云端服务器一般都是安装好的镜像,默认系统语言为英文,对于初学者可能还会有搞不懂的计算机词汇
- 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(meth
- InfoWorld举办的签名挽留Windows XP活动得到的支持数已经超过75000人,微软的生命周期表显示Windows XP将在6月底
- 首先最大的亮点就是软文推广,目前用户比较喜欢的就是视频推广和软文推广,这样的推广也最不耗力气,而又最有效率的一种方式了。视频最好的例子就是最
- 作为破坏力较强的黑客攻击手段,DDoS是一种形式比较特殊的拒绝服务攻击。作为一种分布、协作的大规模攻击方式,它往往把受害目标锁定在大型Int
- 如今的网络日新月异,大大小小的网站层出不穷。各地方的网站,论坛也相继推出。地方网站的推出,要别于一般的网站。下面,跟大家一起分享关于地方网站
- 10月21日消息,今天下午,PChome电脑之家网站在上海召开了2009年全体员工大会,CBSi全球高级副总裁兼中国区总裁王路、CBSi(中
- 关于IIS服务器的安全主要包括六步:1、使用安全配置向导(Security Configuration Wizard)来决定web服务器所需
- 今年8月搜索巨头谷歌推出更新版的“谷歌地球(Google Earth)”浏览系统,并且增加了“谷歌太空”(Google Sky)新功能。让用
- Godaddy可以注册中文域名,价格和对应后缀的英文域名价格是相同的,十分便宜,下面就说明一下如何在Godaddy注册中文域名。1.登录Go
- 做网络推广几年了,天天在几个站长站潜水,文章天天看但基本没写过,总觉得说来说去就那么些东西。前段时间研究了下Twitter类网站,Twitt
- ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.1
- VirtualBox 未指定要bridged的网络界面的解决办法之前换了个新的笔记本,VirtualBox上的东西也陆续迁移了过来,基本is
- 还是在几年前,如果你在借助网络做生意,你就要考虑加入商业联盟和B2B、B2C等商业模式的网站以及行业协会组织或相关产业的专业化组织。然而当今
- 网站管理员们经常会面对诸多需要帮助用户重定向到其他页面的情况。不幸的是,对任意目的地开放的重定向很可能被滥用。这是一个防不胜防的滥用形式,因
- CloudStack创建主存储失败(SR已经被使用),删除SR后成功
- 近日笔者接触到很多企业都声称要招募手机网游开发人员,笔者想或许是这些企业打算在手机网游领域奋力一搏,势必要取得在网游以及网页游戏等领域中失去