CSDN论坛 > Linux/Unix社区 > 应用程序开发区

如何使用共享库 [问题点数:20分,结帖人asiaas]

Bbs1
本版专家分:0
结帖率 100%
CSDN今日推荐
Bbs5
本版专家分:3260
Bbs7
本版专家分:10699
Blank
黄花 2006年9月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年3月 Linux/Unix社区大版内专家分月排行榜第三
2003年8月 Linux/Unix社区大版内专家分月排行榜第三
Bbs3
本版专家分:958
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs7
本版专家分:10699
Blank
黄花 2006年9月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2005年3月 Linux/Unix社区大版内专家分月排行榜第三
2003年8月 Linux/Unix社区大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs2
本版专家分:322
匿名用户不能发表回复!
其他相关推荐
Linux共享库的版本控制和使用
Linux约定经常看到linux中,共享库的名字后面跟了一串数字,比如:libperl.so.5.18.2。其实就是版本号,作用是为了更加方便的管理动态库,比如升级。往往系统中存在一个库的多个版本,那么Linux 系统如何控制多个版本的问题?Window之前没有处理好,为此专门有个名词来形容这个问题:“Dll hell”,其严重影响软件的升级和维护。“Dll hell”是指windows上动态库的新
共享库C/C++
共享库---共享对象的集合   1.产生原因 随着软件规模的越来越大,我们的函数越来越多,为了简化这些极为庞大的共享对象。所以就将这些函数根据相应的需求规划成一些集合,进行一些处理生成共享库文件,这样可以极大的减少函数的数量便于管理和升级。   2。共享库的版本 更新: 兼容更新。所有的更新只是在原有的共享库基础上添加一些内容,所有的接口都保持不变。 不兼容跟新。改变了所有的原有接口,
共享库的编译、链接和运行
1、什么是共享库     共享库的代码是可以在多个应用程序之间共享的,也就是如果有多个程序(或者叫进程)调用相同的函数,可以把这些共同的函数提取出来制作成共享库。这样在运行时,内存中只需要拷贝一份就可以了。 2、共享库与静态库的区别     静态库就是目标文件的简单打包,在编译过程中调用静态库,就会将涉及到的目标文件拷贝进可执行文件中,然后链接程序进行重定位。此后,程序的运行、调试都
关于共享库 与静态库还有动态库的 使用说明
8.11.16 库是别人写好的现有的,成熟的,可以复用的代码,我们只需要知道其接口如何定义,便可以自如使用。 中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。比如我们常使用的printf函数,就是c标准库提供的函数。我们在使用时只需要包含相应的头文件就可以使用(非静态编译还要有相应的库文件)。而不用关心printf函数具体是如何实现的,这
Linux中使用共享库的错误
之前一段时间在学习《C++网络编程》(卷一),将书中的代码敲出来进行测试,但是却出现了使用共享库(.so)的错误。         一。错误描述                编译ACE模块后,生成的libACE.so (libACE.so -> libACE.so.6.1.6)被放置在了/usr/local/lib/目录下,相关头文件放置在/usr/local/include。我的测试文件名
C++中如何应用.so共享库
今天boss給分配了一些編程的任務要求,每一個方法形成一個。so庫,一聽之下有點蒙了,以前編程中還真沒有用過這個玩意!各種找資料,現在就把一些比較基本的東西來整理一下,以供參考!   什么是。so文件呢?so是unix的動態連接庫,是二進制文件,作用相當于windows下的。dll文件,這一說大家大概就明白了,其實。so就是在我們在運行時動態調用的一個庫文件,為什么我們要使用。so呢,其
解决共享库不存在或失效导致的应用未安装
找了很久,,资源都是分开的 这次我把他汇总,打包,方便下载了 不用一个一个的找了下了 很多使用安卓的朋友应该都遇到过安装某些软件出现”应用未安装“,用电脑手机助手进行安装时会出现没有该软件的共享库或已失效,这个问题大概困扰了我3天时间,终于在我的坚持下找到了解决方法,希望出现过这样问题的朋友严格安装我下面的步骤操作即可解决以上问题! 第一步:使用第三方工具中的ROOT获取工具,进行获取ROOT权限。 第二步:下载ROOT EXPLORER 具有最高权限的文件管理工具,安装并打开(打开时出现是否允许此软件使用最高权限,允许)。 第三步:下载以下三个文件。 com.google.android.maps.jar com.google.android.maps.xml NetworkLocation.apk 第四步:使用ROOT EXPLORER 文件工具将三个文件以下面的说明操作。 com.google.android.maps.jar 拷贝到根目录的 system/framework/ 文件夹下面。 然后将此文件的权限设为 root 权限,然后在设置访问权限对话框上选项上对话框选项有9个可打钩的方格,把左边三个的全部勾选,中间的三个的第一个勾上即可。 com.google.android.maps.xml 拷贝到根目录的 system/etc/permissions/ 文件夹下面。 同上面的设置权限的方法一样。 NetworkLocation.apk 拷贝到根目录的 data/app_s/ 文件夹下面。 (如果找不到 app_s这个文件夹,可以新建一个 app_s文件夹,然后在将其拷贝进去)!将此文件的权限设置为 system 然后在设置访问权限对话框上选项上对话框选项有9个可打钩的方格,将左边三个全部勾上,中间的第一个和第二个勾上,右边全部勾上即可。然后重启手机,开始安装你以前安装失败的软件,然后你就会看到安装成功的兴奋了。这样你就永远不会在遇到软件未安装或没有该软件的共享库或已失效的情况了。
linux下添加共享库
问题:cannot open shared object file: No such file or directory failed  方法:作个链接放到/usr/lib里。 如: ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/ 更好方法: Linux 运行的时候,是如何管理共享库(*.so)的?在 Linux 下
Unix/Linux下的动态库和静态库、动态加载共享库
库文件的概念        在很多情况下,源代码文件也可以被多个程序共享。因此要降低工作量的第一步就是将这些源代码文件只编译一次,然后在需要的时候将它们链接进不同的可执行文件中。虽然这项技术能够节省编译时间,但其缺点是在链接的时候仍然需要为所有目标文件命名。此外,大量的目标文件会散落在系统上的各个目录中,从而造成目录中内容的混乱。        为解决这个问题,可以将一组目标文件组织成一个被称
Linux C/C++编译和使用so共享库
本文给出一个Linux C 编译和使用共享库so的一个小例子。如下: 文件 my_math.c // @file: my_math.c #include "my_math.h" int add(int a, int b) { return a + b; } // @file: my_math.h int add(int a, int b); 文件 test.c /...
关闭