centos7 libdl.so

2024-03-06 23:38
文章标签 centos7 libdl

本文主要是介绍centos7 libdl.so,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 使用libdl.so库
动态库加载原理
动态库中函数的查找已经封装成哭libdl.so
libdl.so里面有4个函数:
dlopen//打开一个动态库
dlsym//在打开的动态库里找一个函数
dlclose//关闭动态库
dlerror//返回错误


dl.c
[cpp]  view plain copy
print ?
  1. #include <stdio.h>  
  2. #include <dlfcn.h>  
  3.   
  4. int main(){  
  5.    void* handler = dlopen("./libdemo1.so",RTLD_LAZY);  
  6.    int (*fun)(int,int) = dlsym(handler,"add");  
  7.    int result = fun(34,25);  
  8.   
  9.    printf("the result of teo number is %d\n",result);  
  10.   
  11. }  


在命令行中输入的命令:
[fedora@localhost day02_r3]$ gcc dl.c -odl -ldl
[fedora@localhost day02_r3]$ ./ld

----------------------------------libdl.so的基本使用的小结----------------------------------------
只需要记住一个头文件,和四个函数即可:
头文件:#include <dlfcn.h>

四个函数:
dlopen//打开一个动态库
dlsym//在打开的动态库里找一个函数
dlclose//关闭动态库
dlerror//返回错误


头文件和上面的四个函数的用法都不需要死记,旺季的时候man一下即可。。。。。


总结:
1. 编译连接动态库
2. 使用动态库
3. 怎么配置让程序调用动态库
4. 掌握某些工具的使用 nm ldd lddconfig objdump strit(去掉多余的信息)

这篇关于centos7 libdl.so的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/781739

相关文章

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

centos7 安装rocketmq4.7.0以及RocketMQ-Console-Ng控制台

一、前置工作 1.1安装jdk8 https://blog.csdn.net/pang_ping/article/details/80570011 1.2安装maven https://www.cnblogs.com/116970u/p/11211963.html 1.3安装git https://blog.csdn.net/xwj1992930/article/details/964

linux 安装sar工具,centos7-sar工具的安装过程及其简单应用(1)

10时02分44秒     bond0      0.00      0.00      0.00      0.00      0.00      0.00      0.00 10时02分44秒     vnet3      1.00      8.50      0.19      5.52      0.00      0.00      0.00 10时02分44秒      eth

centos7 网卡配置文件

1、Centos6与Centos7网络命令对照表 2、网络配置文件解释说明 静态IP配置: cat /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static DEVICE=eth0 NAME=eth0 ONBOOT=yes IPADDR=192.168.10.250 NETMASK=255

【centos mysql安装】CentOS7安装mysql5.6

下面详细介绍mysql安装在linux安装步骤 一、安装mysql 1、下载安装包使用wget命令安装 wget -c -t0 https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz 2、卸载自带的 Mariadb [root@localhost ~]# rpm -qa|g

Centos7下,Vsftpd工具,搭建ftp服务器

Centos7安装Vsftpd工具 1.下载与安装 1.1 安装环境 测试系统:Centos7.0 所用软件:vsftpd-3.0.2-21.e17.x86_64 下载地址: http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 1.2 开始安装 1.2.1 查询是否系统

CentOS7 安装Selenium+chrome+chromedriver

在无界面的CentOS7上安装Selenium+Chrome,并使用facebook的php-webdriver测试 系统环境 Operating System: CentOS Linux 7 (Core) Kernel: Linux 3.10.0-693.17.1.el7.x86_64 Architecture: x86-64 安装 chrome 使用下面的命令,在root用户下就可以安装最新