浅谈Linux C语言动态库及静态库

作者:jingxian 时间:2023-08-06 07:21:54 

假设在math目录下已编辑好add.c sub.c div.c mul.c func_point.c文件,func_point.c为包含main()的源文件!

动态库的制作:

方法一:


gcc -c -fPIC add.c sub.c div.c mul.c //-c表示生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o,mul.o,div.o目标文件

sudo mv libmymath.so /usr/lib

gcc func_point.c -lmymath//-l后面加动态链接库名字

方法二:


gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o mul.o div.o目标文件

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.//注意此操作后把当前目录加入环境变量中

gcc func_point.c -L. -lmymath//-l后面加动态链接库名字

方法三:


gcc -c -fPIC add.c sub.c div.c mul.c //-c:生成.o目标文件,-f后加一些编译选项,PIC表示与位置无关

gcc -shared -o libmymath.so add.o sub.o mul.o div.o//创建共享库mymath,添加add.o,sub.o mul.o div.o目标文件

sudo vi /etc/ld.so.conf//把你的动态库路径加入此文件中

sudo ldconfig

gcc func_point.c -L. -lmymath//-l后面加动态链接库名字

ldd   显示可执行程序所需的共享库。

定义好框架,不断增加动态库!!

静态库制作:

ar -crs libmymath.a add.o sub.o div.o mul.o/*创建静态库mymath,添加add.o,sub.o,mul.o,div.o,-c:创建归档文件 -r:插入 -s:若归档文件中包含了对象模式,可利用此参数建立备存文件的符号表  ar -crs libmymath.a *.o */
gcc func_point.c -L. -lmymath//-L在哪个目录下找库 -l找哪个库,-lm可以链接到标准算数库,-lpthread可以连接到Linux标准线程库
ar -d libmymath.a add.o//删除一个
ar -r libmymath.a add.o//增加一个

静态库在程序链接时用到,链接器把程序所需的代码从静态库中拷贝到可执行程序中,可执行程序会增大;动态库在程序加载时用到,程序在加载时,会先检查需要哪些动态库连接,然后从内存中找到这些动态库的地址,最后加载动态库运行程序。

标签:linux,静态库,动态库
0
投稿

猜你喜欢

  • Windows2003服务器安装及设置教程—软件安装与设置篇九—Zend Optimizer安装图解

    2010-01-31 17:05:00
  • 新网站如何提高流量

    2008-12-01 03:09:00
  • 马化腾:腾讯看走眼的很多 不止YouTube

    2008-01-13 19:09:00
  • inotify-tools+rsync实时同步文件的配置方法

    2021-05-08 19:59:27
  • 如何通过IIS日志分析网站的情况

    2008-07-27 16:55:00
  • docker centos7 安装ssh具体步骤

    2022-11-27 08:10:03
  • 生铁关键词阿里巴巴为什么在百度排名第一

    2008-12-29 00:26:00
  • Godaddy更换IP后域名的设置 Godaddy

    2010-04-19 12:37:00
  • centos7.2搭建nginx的web服务器部署uniapp项目

    2023-10-14 01:15:07
  • 如何宣传网站之论坛篇

    2007-10-02 19:23:00
  • 基础教程:关键词选择基本思路和分析过程

    2008-12-02 11:15:00
  • SEO应润站细无声

    2009-01-16 12:41:00
  • 动易.net3.0版分页第二页无数据的解决方法

    2009-12-20 17:45:00
  • GOOGLE新广告工具:自助分析 及时优化

    2007-08-05 13:55:00
  • Godaddy:如何使用Hosting Control Center基于Web的FTP客户端 God

    2010-04-23 12:31:00
  • Google 搜索联盟介绍

    2007-11-13 12:35:00
  • SEO从好好学习开始 介绍七个SEO学习教程

    2008-12-11 11:13:00
  • linux解决Tomcat内存溢出的问题

    2023-10-19 00:32:12
  • Windows 2000 Server安全设置完全手册

    2009-12-20 19:06:00
  • 新版火狐3浏览器首日下载量突破800万

    2008-06-19 13:45:00
  • asp之家 网站运营 m.aspxhome.com