位置: 编程技术 - 正文
1、前言
在实际开发过程中,各个模块之间会涉及到一些通用的功能,比如读写文件,查找、排序。为了减少代码的冗余,提高代码的质量,可以将这些通用的部分提取出来,做出公共的模块库。通过动态链接库可以实现多个模块之间共享公共的函数。之前看《程序员的自我修养》中讲到程序的链接和装入过程,这些玩意都是底层的,对于理解程序的编译过程有好处。 gcc -shared -fPIC caculate.c -o libcac.so编写一个测试程序调用此动态链接库的函数,程序如下所示:
编译生产可执行文件main如下:gcc main.c -o main -L ./ -lcac (其中-L指明动态链接库的路径,-l后是链接库的名称,省略lib)程序执行结果如下所示:
3、获取动态链接库的函数linux提供dlopen、dlsym、dlerror和dlcolose函数获取动态链接库的函数。通过这个四个函数可以实现一个插件程序,方便程序的扩展和维护。函数格式如下所示:
dlopen()是一个强大的库函数。该函数将打开一个新库,并把它装入内存。该函数主要用来加载库中的符号,这些符号在编译的时候是不知道的。写个测试程序调用上面生产libcac.so库如下所示:
程序执行结果如下所示:gcc call_main.c -o call_main -ldl
推荐整理分享linux动态链接库使用方法分享(Linux动态链接库编译),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:Linux动态链接库编译,linux动态链接库后缀,linux动态链接库和静态链接库,Linux动态链接库怎么调用,linux动态链接库和静态链接库,Linux动态链接库编译,Linux动态链接库链接输出不可表示的节,linux动态链接库和静态链接库,内容如对您有帮助,希望把文章链接给更多的朋友!
程序中获取linux系统启动时间方法 1、前言时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用
linux下安装oracle后使用命令行启动的方法 linux启动oracle #su-oracle$sqlplus/assysdbastartupexit$lsnrctlstart$ps-ef|greporacle
linux系统mysql自动备份并使用ftp上传的方法 #!/bin/bash#ftp设置Host=FTP_IPUsername=FTP_userPasswd=FTP_passwd#备份mysql并导出到文件mysqldump-u用户--password=用户密码数据库名$(date+%Y%m%d)-数据库名.sql#压缩备份文件ta
标签: Linux动态链接库编译
本文链接地址:https://www.jiuchutong.com/biancheng/374741.html 转载请保留说明!友情链接: 武汉网站建设