zoukankan      html  css  js  c++  java
  • 未完成的研究

    报错:error while loading shared libraries: libpcap.so.0.8: cannot open shared object file: No such file or directory

    问题描述:报错找不到的库其实是安装了的,但是仍然报错找不到,

    Q1,linux的.so文件是啥?

    Linux下的.so文件是动态链接库,其功能和作用类似与windows下.dll文件。

    Q2,while loading shared libraries 系统会去哪loading?

    百度有人说,系统的默认搜索依赖库路径为/lib,和/usr/lib,和/usr/local/lib,

    Q3,为什么No such file or directory?

    find / -name libpcap.so.0.8  无结果

    find / -name libpcap.so   发现了/usr/lib64/libpcap.so

    待研究,,

    Q4,libpcap.so和libpcap.so.0.8的区别

      

    知识点

    一、.so和.a

    .so后缀的文件是linux下的动态链接库。动态函数库在编译的时候没有被编译进目标代码中,程序执行到相关函数时才调用它。由于函数库没有被整合进程序,而是程序运行时动态的申请并调用,所以程序的运行环境中必须提供依赖的库。 

    .a后缀的文件是linux下的静态链接库。静态函数库在编译的时候被整合进了目标代码里,成为了程序的一部分。

    .so库的好处:1、不同的程序可以共享所需要的同一个库的某几个函数。2、执行过程中有需求才调用某一段代码,大大节省系统资源。3、将一些程序升级变得简单,升级.so库即可升级程序。

    二、6个文件目录的区别:/lib, /usr/lib, /usr/local/lib,  /lib64, /usr/lib64, /usr/local/lib64

    /lib存放最基本的用于启动系统和执行root文件系统的命令(/bin和/sbin中的二进制文件)的动态库。

    /usr/lib存放/usr/bin和/usr/sbin中二进制文件的库

    /usr/local/lib存放用于用户程序或安装包的库。

    lib64存放内容同上。

    百度有人说,lib64的库不是架构独立的,lib的库是架构独立的。/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的.

  • 相关阅读:
    Windows Server 2008 R2 实现多用户连接远程桌面
    增加远程登录用户登陆个数
    Win2008R2PHP5.4环境加载Zend模块
    Windows 和  Linux 下 禁止ping的方法
    Windows 2003 FastCgi安装环境
    Windows2008下搭建NFS实现windows空间提供linux使用
    Spring + JdbcTemplate + JdbcDaoSupport examples
    Spring Object/XML mapping example
    Spring AOP + AspectJ in XML configuration example
    Spring AOP + AspectJ annotation example
  • 原文地址:https://www.cnblogs.com/pinkbin/p/10967953.html
Copyright © 2011-2022 走看看