东丰网

gcc生成.a静态库和.so动态库

网站:东丰网   来源:网络收集

gcc生成.a静态库和.so动态库文件 o 生成静态库的方法 $ gcc -c gdfontwu.c $ gcc -c gdfontliu.c $ gcc -c gdfontbin.c $ ar rc libgdfont.a gdfontwu.o gdfontliu.o gdfontbin.o (ranlib libgdfont.a 可生成索引) 用 nm libgdfont.a 来看里面的目标文件和导出函数(带 T 标记)。

o 生成动态库的方法 $ gcc -c gdfontwu.c $ gcc -c gdfontliu.c $ gcc -c gdfontbin.c $ gcc -o libgdfont.so -shared -fPIC gdfontwu.o gdfontliu.o gdfontbin.o -fPIC:表示编译为位置独立的代码,不用此选项的话编译后的代码 是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程 需要,而不能达到真正代码段共享的目的。

可用 nm libgdfont.so 来看 里面导出的函数(带 T 标记)。

用动态库的好处是:更新了动态库之后链结它的程序不用重新编译。

o 用法 在 websrv.c 中: /* websrv.c */ #include "gdfontwu.h" #include "gdfontliu.h" #include "gdfontbin.h" int getpng() { ... gdImageChar(..., gdFontWu, ...); gdImageChar(..., gdFontLiu, ...); gdImageChar(..., gdFontBin, ...); ... return 0; } > 静态库: $ gcc -c websrv.c $ gcc -o websrv websrv.o libgdfont.a > 动态库: $ gcc -o websrv websrv.o -L. -lgdfont $ LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ./websrv LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH ldd main 可以看到 websrv 程序所链结的动态库。

把 libgdfont.so 放到 /etc/ld.so.conf 中列出的目录下就可以不用先指定环境变 ,注意先 ldconfig 刷新系统动态库的缓存 还有一种 ld -rpath dir 这样的方法可避免设定环境变量

相关内容
  • GCC生成动态库和静态库

    GCC生成动态库和静态库

    GCC生成动态库和静态库...

  • gcc生成静态库和动态库

    gcc生成静态库和动态库

    gcc生成静态库和动态库...

  • gcc 生成动态库和静态库

    gcc 生成动态库和静态库

    gcc 生成动态库和静态库...

  • C++:GCC 生成静态库和动态库

    C++:GCC 生成静态库和动态库

    C++:GCC 生成静态库和动态库...

  • Linux下Gcc生成和使用静态库和动态库详解

    Linux下Gcc生成和使用静态库和动态库详解

    Linux下Gcc生成和使用静态库和动态库详解...

  • linux下用gcc生成静态库和动态库

    linux下用gcc生成静态库和动态库

    linux下用gcc生成静态库和动态库...

  • 在Linux下如何使用GCC编译程序、简单生成静态库及动态库

    在Linux下如何使用GCC编译程序、简单生成静态库及动态库

    在Linux下如何使用GCC编译程序、简单生成静态库及动态库...

  • gcc编译动态和静态链接库

    gcc编译动态和静态链接库

    gcc编译动态和静态链接库...

  • 静态库(.a)和动态库(.so)

    静态库(.a)和动态库(.so)

    静态库(.a)和动态库(.so)...

  • “GCC连接静态库成功,G++连接静态库不成功”的解决方法

    “GCC连接静态库成功,G++连接静态库不成功”的解决方法

    “GCC连接静态库成功,G++连接静态库不成功”的解决方法...

  • 网友在搜
    www.yunzhitu.com www.jygoodfood.com 天女兽被折磨漫画图片 www.98209.com www.huolongsf.com secreted proteins 天命凰妃txt全集下载 银行需要监管 英文 swiftmt103报文 jessie red tube www.52yuanwei.com xbox360 医院 linux 60gb 分区方案 pdf basefont 黑体 李志 下雨在哪听 发改价格2008 74 swiss marine earth to buy kylie rose 宁波阳光豪生5楼 韩国电影野狗下载 mp4 武易传奇开服时间 club215短发 duel with the devil john the ripper安装 1x根号x的不定积分 寂静岭3 ps2镜像 iphone4虚拟内存 Shape vb ios蜂窝数据dns 春季入学的美国大学 rockefeiier ed2k郑媛媛137 chn136迅雷 office 365个人版 饥荒传送门怎么用 宝宝为什么不喜欢洗头 sis board ip brush color 什么精华液好用又实惠 宾利mansor some say love原唱 末日新世界在线阅读 红姐心水高手论坛

    All Right Reserved 东丰网

    声明:本站内容源于网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

    如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况 网站地图 网站栏目