C语言 自己制作动态链接库并使用
(1)动态链接库的后缀名是.so(对应windows系统中的dll),静态库的扩展名是.a
(2)第一步:创建一个动态链接库。
gcc aston.c -o aston.o -c -fPIC
gcc -o libaston.so aston.o -shared
-fPIC是位置无关码,-shared是按照共享库的方式来链接
注意:做库的人给用库的人发布库是,发布libxxx.so和xxx.h即可。
(3)第二步使用自己创建的共享库
gcc test.c -o test -laston -L.
解决方法一:
将libaston.so放到固定目录下即可,这个固定目录一般是/usr/lib目录。
cp libaston.so /usr/lib即可
解决方法二:
使用环境变量LD_LIBRARY_PATH。操作系统在加载固定目录/usr/lib之前,会先去LD_LIBRARY_PATH这个环境变量所指定的目录下去寻找,如果找到就不用去/usr/lib下面找了,如果没找到再去/usr/lib下面找。所以解决方法就是libaston.so所在的目录导出到环境变量LD_LIBRARY_PATH中即可。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:文件所在目录
(不建议使用)
解决方法三:
用ldconfig
(4)ldd命令:作用是可以在一个使用了共享库的程序执行之前解析出这个程序是使用的那些共享库,并且查看这些共享库能被解析(决定这个程序是否能正常执行。)
C语言 自己制作动态链接库并使用相关推荐
- bazel 链接第三方动态库_C语言学习篇(31)——linux中制作动态链接库
引言 前面我们讲解了什么是函数库(函数库就是一些事先写好的函数集合),函数库有什么作用(可以打包我们的编写的源代码,供他人使用,同时源码不可见,保护了自己的知识产权)以及函数库有2种提供方式:静态链接 ...
- Linux C语言调用C++动态链接库
Linux C语言调用C++动态链接库 标签: C调用C++库 2014-03-10 22:56 3744人阅读 评论(0) 收藏 举报 分类: [Linux应用开发](48) 版权声明:本文为博主原 ...
- 用c语言,制作一个心形彩色告白图案(附源码)
今天我们来一个好玩的,用c语言,制作一个心形彩色告白图案. 送给c语言初学者 代码: #include<stdio.h> #include<math.h> #include&l ...
- R语言快速制作学术论文三线表
PartR语言快速制作学术论文三线表 三线表以其形式简洁.功能分明.阅读方便而在科技论文中被推荐使用. 本文主要使用table1包制作三线表,生成的三线表为html格式,可以直接复制到word中,本文 ...
- 用R语言,制作动态烟花
用R语言,制作动态烟花
- linux下的c语言实现象棋,用c语言+API制作象棋界面
现在已经把所有的棋子放到上面了,运行即可看到象棋的开局画面,而且已经实现走子了.新手注意:注意不能直接复制代码,那样有行号,鼠标移动到代码上方就有复制按钮了. //本程序的目的是用c语言+API制作象 ...
- html网页制作技巧,HTML语言网页制作技巧与方法.doc
HTML语言网页制作技巧与方法 HTML语言网页制作技巧与方法 摘要:随着社会的进步,时代的发展,科学技术水平的不断提高,计算机技术已经深入到人们的生产生活,网络在人们的日常交流中起着非常重要的作用. ...
- c语言delay_C语言编程制作“古怪手电筒”,有光的时候就会亮,没光绝不会亮...
最近重温经典喜剧电影时,发现下面这么一幕: 达文西发明了一个"古怪手电筒","在有光的时候就会亮,在没有光的情况下绝对不会亮!" 这种手电筒是怎么制作的呢,我们 ...
- 单片机秒表c语言,单片机制作秒表计时器(c语言)
利用计数器中断,外部中断(按钮)编写的机遇c语言的秒表计时器 利用单片机制作秒表计时器 (c语言) #include//包含单片机对应的头文件 int MM=0,SS=0,MS=0; int time ...
最新文章
- 如何在CentOS 5.x 中安装Windows Azure Linux Agent (WALA)
- Nagios/Postfix 转发警报邮件到Office365
- C#模拟网站登录介绍
- vs code gitee使用_实用为王!来看看Gitee上五款新鲜出炉的WebUI组件
- python编写接口初识一
- SpringBoot 精通系列-如何使用Spring Boot Security进行权限控制
- 美国红帽软件公司是做什么的
- school_vue操作记录
- Mac电脑上怎么添加密码提示?操作教程来啦!
- 用 PHP 来玩直播猜题小游戏,一起 happy coding.
- 红米3s进不了recovery_红米手机3S/3X刷recovery教程及第三方recovery下载
- 【loj2339】【WC2018】通道
- 18个高效使用Google搜索的技巧
- visual Paradigm如何创建BPMN图?
- (收藏)让你从骨子里爱上英文
- 2022 CCF中国开源大会—开放原子开源创新发展论坛即将开幕
- Cortex-M3技术参考手册 2022年3月1日
- 虚拟机中的linux系统无法识别SD卡
- 第二十三章 Unity 材质
- python3.8 安装fitter包失败,网上所有办法都试过不行之后!
热门文章
- 对日期,时间,年月日的处理
- 如何解决使用 plt.savefig 保存图片时一片空白
- 利用python删除重复文件和归类文件
- 当贝os系统和华为鸿蒙系统,吐槽!华为荣耀智慧屏和投影仪对比怎么样?谁是电视未来...
- 写一个登陆126邮箱的脚步
- java树结构遍历_树形结构,java_树遍历统计总数,树形结构,java - phpStudy
- 兴奋不再 支付宝锦鲤信小呆过得没有我们想象中
- c51单片机矩阵键盘1602计算器_单片机中用矩阵键盘实现计算器
- 一步一步学习iOS 摘记
- 修改MFC中AfxMessageBox()函数的对话框标题