linux库文件|查看linux当前加载库文件的命令

linux库文件|查看linux当前加载库文件的命令的第1张示图

『壹』 请问linux里头文件与库文件有什么区别

头文件中有函数的申明,库文件实现函数的定义。比如,printf函数。使用时应包括stdio.h,专打开stdio.h你只属能看到,printf这个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库中。而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的。程序中包括了stdio.h这个头文件。链接器就能根据头件中的信息找到printf这个函数的实现并链接进这个程序代码段里。总结起来就是,库文件通过头文件向外导出接口。用户通过头文件找到库文件中函数实现的代码从而把这段代码链接到用户程序中去。

『贰』 Linux 里有/lib和/usr/lib,这两个目录下的库文件有什么区别吗如果没区别为什么又要分开放呢

/lib—–系统本身自带的库存放处/usr/lib—–安装完成后用户自己安装的库文件的存放处仔细观专察/usr目录,你会属发现这个目录下面也有bin和sbin等一些根目录下的目录。usr不是user的缩写,而是unix software resource的缩写,里面存放的都是用户后来安装的软件

『叁』 linux软件的库文件安装在哪儿

查询某个软件的库文件在哪可以用rpm命令,如:

我要查询httpd的库文件,可以过滤一下

#rpm-qlhttpd|greplib

祝你好运~~~

望采纳~~~

『肆』 如果我想用的linux库文件不存在怎么办呢,可以安装吗,

Ubuntu教程:链接不到库提示库文件不存在的解决办法/home/bear/QtProgram/opencv001-build-desktop/opencv001: error while loading shared libraries: libopencv_highgui.so.2.3: cannot open shared object file: No such file or directoryerror while loading shared libraries: libXXX.so.1.2.3: cannot open shared object file此时你可以locate libXXX.so.1.2.3 (如果你的文件系统比以前有了变化,如安装了可能是需要的库的开发包,则需要 locate -u 一下)然 后如果发现了libXXX.so.1.2.3的确存在,就把libXXX.so.1.2.3所在的目录加入到 /etc/ld.so.conf 中,或者在 /etc/ld.so.conf.d/ 下新建一文件,如 XXX.conf ,其内容是libXXX.so.1.2.3所在的目录。如果发现libXXX.so.1.2.3不存在,你可能没安装包含库的程序。一般google一下“XXX linux”就能找到相应的软件。如果提示是error while loading shared libraries: libXXX.so,但你的系统上有libXXX.so.5,你可以为libXXX.so.5做一个软链接 ln -s libXXX.so.5 libXXX.so如,我执行一个ACE开发包中的样例程序时,出现以下提示:./logging_app: error while loading shared libraries: libACE.so.5.4.7: cannot open shared object file: No such file or directory[[email protected] ld.so.conf.d]# locate libACE.so.5.4.7/opt/ace/ace/libACE.so.5.4.7/opt/ace/lib/libACE.so.5.4.7[[email protected] ld.so.conf.d]# vi ace.conface.conf中只有一行: /opt/ace/lib然后再执行 ldconfigOK,现在执行logging_app就没有错误了。

『伍』 linux中库文件的作用

yum是一个软件安装源,rpm是一个软件包管理程序。yum可以在线版安装软件,可以自动解决依赖性权问题。比如你联网的情况下要安装httpd,你就使用yum install httpd而你在网上下载了rpm包,就使用rpm -ivh httpd.rpm使用rpm的话,需要自己解决依赖性问题。

『陆』 linux下的c编程如何包含库文件

和makefile没关抄系。直接加载头文件就行袭了。如果是动态库或者静态库,可能还要将dll或者lib引入,方法很好查。你此处的问题是时间类用错了,应该是time_t。多看点书,time.h的用法在网络里说的很详细。 #include <stdio.h>#include <time.h>int main(){time_t timer =time(NULL);printf("ctime is %s\n",ctime(&timer)); //得到日历时间return 0;}具体的自己去看吧。

『柒』 Linux系统的库文件一般放在( )目录下

DLinux的库一般在/lib或/usr/lib目录下。lib是库(Library)的英文缩写,它主要存放系统的链接库专文件,没有该目录则系统就无属法正常运行。/lib目录中存储着程序运行时使用的共享库。通过共享库,许多程序可以重复使用相同的代码,并且这些库可以存储在一个公共的位置上,因此能减小运行程序的大小。这个目录包含程序在链接时使用的各种库。

『捌』 查看linux当前加载库文件的命令

ldd <可执行文件名> 查看可执行文件链接了哪些 系统动态链接库nm <可执行文件名> 查看可执行文件里面有哪些符号strip <可执行文件名> 去除符号表可以给可执行文件瘦身如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令strings <可执行文件名>Linux操作系统上面的动态共享库大致分为三类:1、操作系统级别的共享库和基础的系统工具库比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会有/lib64和/usr /lib64目录。如果操作系统带有图形界面,那么还会有/usr/X11R6/lib目录,如果是64位操作系统,还有/usr/X11R6 /lib64目录。此外还可能有其他特定Linux版本的系统库目录。这些系统库文件的完整和版本的正确,确保了Linux上面各种程序能够正常的运行。2、应用程序级别的系统共享库并非操作系统自带,但是可能被很多应用程序所共享的库,一般会被放在/usr/local/lib和/usr/local/lib64这两个目录下面。很多你自行编译安装的程序都会在编译的时候自动把/usr/local/lib加入gcc的-L参数,而在运行的时候自动到/usr/local /lib下面去寻找共享库。以上两类的动态共享库,应用程序会自动寻找到他们,并不需要你额外的设置和担心。这是为什么呢?因为以上这些目录默认就被加入到动态链接程序的搜索路径里面了。Linux的系统共享库搜索路径定义在/etc/ld.so.conf这个配置文件里面。这个文件的内容格式大致如下:/usr/X11R6/lib64 /usr/X11R6/lib /usr/local/lib /lib64 /lib /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/ImageMagick/lib假设我们自己编译安装的ImageMagick图形库在/usr/local/ImageMagick目录下面,并且希望其他应用程序都可以使用 ImageMagick的动态共享库,那么我们只需要把/usr/local/ImageMagick/lib目录加入/etc/ld.so.conf文件里面,然后执行:ldconfig 命令即可。ldcofig将搜索以上所有的目录,为共享库建立一个缓存文件/etc/ld.so.cache。为了确认ldconfig已经搜索到ImageMagick的库,我们可以用上面介绍的strings命令从ld.so.cache里面抽取文本信息来检查一下:strings /etc/ld.so.cache | grep ImageMagick 输出结果为:/usr/local/ImageMagick/lib/libWand.so.10 /usr/local/ImageMagick/lib/libWand.so /usr/local/ImageMagick/lib/libMagick.so.10 /usr/local/ImageMagick/lib/libMagick.so /usr/local/ImageMagick/lib/libMagick++.so.10 /usr/local/ImageMagick/lib/libMagick++.so已经成功了!3、应用程序独享的动态共享库有很多共享库只被特定的应用程序使用,那么就没有必要加入系统库路径,以免应用程序的共享库之间发生版本冲突。因此Linux还可以通过设置环境变量LD_LIBRARY_PATH来临时指定应用程序的共享库搜索路径,就像我们上面举的那个例子一样,我们可以在应用程序的启动脚本里面预先设置 LD_LIBRARY_PATH,指定本应用程序附加的共享库搜索路径,从而让应用程序找到它。

『玖』 如何手动安装linux 库文件

linux 下的 的 库自 都是 一个个 程序包 要安装的 debian或者Ubuntu 下用 sudo apt-get install 程序包 redhat 或者 fedora 下 用 yum Good luck

未经允许不得转载:山九号 » linux库文件|查看linux当前加载库文件的命令

赞 (0)