linux应用开发-设计动态库

linux应用开发-设计动态库

一 制作动态库

1. gcc –c mylib.c –o mylib.o

2. gcc -shared -fPIC mylib.o -o libmylib.so 

3. 将制作好的libmylib.so 复制到/usr/lib

4 -fpic 使输出的对象模块是按照可重定位地址方式生成

5 -shared 指明产生动态链接库。

二 基本概念见上一章设计静态库

时间: 2024-07-29 00:44:18

linux应用开发-设计动态库的相关文章

linux应用开发-设计静态库

linux应用开发-设计静态库 一 应用程序 函数库(用户)和系统调用(linux内核) 二 库分类 1 静态链接库(*.a) 一个程序使用一个函数库 2 动态链接库(*.so) 多个程序可以使用同一个函数库,减少程序的大小 3 静态库比动态库大 三 制作自己的静态库 1 gcc -c mylib.c -o mylib.o 2 ar cqs libmylib.a mylib.o 3 将做好的libmylib.a 复制到/usr/lib目录下 四 使用自己创建的静态库 1 linux默认链接动态库

ios 开发中 动态库 与静态库的区别

使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库,多个应用程序共享内存中得同一份库文件,节省资源 3使用动态库,可以不重新编译连接可执行程序的前提下,更新动态库文件达到更新应用程序的目的. 从1可以得出,将整个应用程序分模块,团队合作,进行分工,影响比较小. 等其他好处, 从2可以看出,其实动态库应该叫共享库,那么从这个意义上来说,苹果禁止iOS开

用Vs2013+VELT进行Linux开发:动态库

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 本文适用于vs2013 + Visual EmbedLinux Tools 0.1.1 1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序的开发(包括编译和调试),也可以进行ubo

用VS2013+VELT-0.1.3进行Linux开发:动态库

快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 本文仅适用于vs2013 + velt-0.1.3 1.1    什么是VELT VELT的全称是Visual EmbedLinuxTools,它是一个与visual gdb类似的visual studio插件,用以辅助完成Linux开发.利用这个插件,将可以在visual studio的IDE中进行Linux应用程序

Linux下如何解决动态库的链接问题

关于动态库和静态库,这里不多解释,如何创建属于自己的动态库和静态库,之前有提过,详细内容戳链接. 静态库是一种以空间换取时间和移植性的做法,一些情况下确实有着一定的意义,但是一些情况下,我们自己编写的简单项目,在绝大多数的机器上不存在移植性问题,是没有必要采用静态编译的.而且,在一些大型项目中,我们很难避免去使用到开源库,举个例子,如果我们只是单纯引用了mysql数据库的几个接口,有必要将整个mysql源文件全部编译吗?代价未免太大.通常的做法,是将mysql的include 和lib目录打包之

linux c++ 加载动态库常用的三种方法

链接库时的搜索路径顺序:LD_LIBRARY_PATH --> /etc/ld.so.conf --> /lib,/usr/lib 方法1. vi .bash_profile    设置环境变量LD_LIBRARY_PATH并导出 另: LD_LIBRARY_PATH:启动时连接共享函数库,执行时打开动态函数库首先搜索的路径. LD_DEBUG:显示运行时的信息,如符号寻找和绑定,重定向,执行等等. 方法2.  a)直接在/etc/ld.so.conf 里添加库路径 b)新建文件,后缀为.co

libpomelo2在linux下编译android动态库libjpomelo

参考文章如下: http://nodejs.netease.com/topic/540702e0898634292cd0a588 https://github.com/NetEase/libpomelo2 编译libjpomelo.so耗费了2天多的时间,资料很少,期间走了很多弯路,这里记录下. 1.官网下载libpomelo2源代码. 2.准备android ndk 10的包,我ubuntu是32位的,所以下载的是android-ndk32-r10b-linux-x86.tar.bz2    

【转】分析Linux和windows动态库

原文地址:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系 统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由 于格式不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Lin

Linux和windows动态库

转载:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 态链接库技术实现和设计程序常用的技术,在Windows和Linux系 统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由 于格式不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法