Computer Systems A Programmer's Perspective Second Edition

Shared libraries
are modern innovations that address the disadvantages of
static libraries. A shared library is an object module that,
at run time
, can be
loaded at an arbitrary memory address and linked with a program in memory.
This process is known as
dynamic linking
and is performed by a program called a
dynamic linker
.
Shared libraries are also referred to as
shared objects
, and on Unix systems
are typically denoted by the
.so
suffix. Microsoft operating systems make heavy
use of shared libraries, which they refer to as DLLs (dynamic link libraries).
Shared libraries are “shared” in two different ways. First, in any given file
system, there is exactly one
.so
file for a particular library. The code and data in
this
.so
file are shared by all of the executable object files that reference the library,
as opposed to the contents of static libraries, which are copied and embedded in
the executables that reference them. Second, a single copy of the
.text
section of
a shared library in memory can be shared by different running processes. We will
explore this in more detail when we study virtual memory in Chapter 9.

 

Shared libraries的更多相关文章

  1. linux使用wkhtmltopdf报错error while loading shared libraries:

    官网提示 linux需要这些动态库.depends on: zlib, fontconfig, freetype, X11 libs (libX11, libXext, libXrender) 在li ...

  2. python3: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory

    安装python3遇到报错: wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz ./configure --prefix=/u ...

  3. error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

    zabbix3.2启动有如下报错: # service zabbix_server startStarting zabbix_server:  /home/zabbix-server/sbin/zab ...

  4. 错误解决:error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory

    执行以下代码,生成唯一的UID $fp = popen("/xxx/bin/tools/uuidgen system", "r");// $uid = frea ...

  5. ebs r12 -- adadmin: error while loading shared libraries: libclntsh.so.10.1

    安装EBS R12.2增加中文字符集时,运行$AU_TOP/bin/adadmin出错: $ adadmin adadmin: error while loading shared libraries ...

  6. 【转】error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

    错误信息: /usr/local/memcacheq/bin/memcacheq: error while loading shared libraries: libevent-2.0.so.5: c ...

  7. ssh 发现了error while loading shared libraries这种错

    在Linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了: ./tests: error whil ...

  8. FreeRadius服务器安装以及error while loading shared libraries问题

    服务器安装过程: 1.       Down from www.freeradius.org 我下载的版本是freeradius-server-2.1.8.tar.gz 2.       tar zx ...

  9. 解决openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory错误

    问题 在Centos7上编译安装openssl后,运行openssl version出现如下错误: openssl: error while loading shared libraries: lib ...

  10. mysql: error while loading shared libraries: libmysqlclient.so.16

    [root@host_41 mysql]# mysqlmysql: error while loading shared libraries: libmysqlclient.so.16: cannot ...

随机推荐

  1. C#学习笔记——Show()与ShowDialog()的区别

    用Show()调用的窗体不会返回任何值,在使用form.Show()显示form以后,会马上继续执行form.Show()后面的语句.而用ShowDialog()调用的窗体会返回一个DialogRes ...

  2. BC#32 1002 hash

    代码引用kuangbin大神的,膜拜 第一次见到hashmap和外挂,看来还有很多东西要学 维护前缀和sum[i]=a[0]-a[1]+a[2]-a[3]+…+(-1)^i*a[i] 枚举结尾i,然后 ...

  3. matlab参数查询

    nargout nargout的作用是在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数(nargin指出了输入参数的个数). 特别是在利用了可变参数列表的函数中, ...

  4. Android 贝塞尔曲线 折线图

    1.贝塞尔曲线:http://baike.baidu.com/view/60154.htm,在这里理解什么是贝塞尔曲线 2.直接上图: 3.100多行代码就可以画出贝塞尔曲线,直接上代码 packag ...

  5. 抓包工具Fiddler的使用

    Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...

  6. include、include_once与require、require_once区别

    include与require的区别 include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行. <?php include 'no.p ...

  7. PDA手持终端实现零售行业商场和超市仓储管理和销售开单自动化和系统化

    近几年,连锁药店得到了迅速扩张,由于药品种类过于繁杂.客户分散票据过多,急剧扩张之后的连锁药店企业在信息流处理上遇到了各种各样的问题 到现在已经有3000多家连锁药房,需要采购的正规药品就有数万个品种 ...

  8. WCF 超时情形

    在做WCF开发时,会经常碰到超时的情况,总结了一下,主要是由一下原因引起: 1.客户端没有正确地Close. 确保每次客户端调用完毕之后,就要调用Close,保证连接数. 另外,服务端配置最大连接数: ...

  9. phpStudy启动失败时的解决方法

    phpStudy启动失败时的解决方法 phpStudy启动失败,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等:三是没有安装VC9运行库,php和apache都是VC9编译.解决 ...

  10. unity 播放过场动画

    public var url="file:///c:/sample.ogg"; //文件路径 function Start () { //拼凑一个url url="fil ...