首页 > 试题广场 >

程序动态链接的时刻是()。

[不定项选择题]
程序动态链接都可以发生在哪些时候()。
  • 编译时
  • 装入时
  • 调用时
  • 紧凑时
~L头像 ~L
这种题。。。。。B C都可以的 有装载时动态链接 也有运行时动态链接。。。
发表于 2015-09-25 10:10:17 回复(0)
动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库。大多数操作系统将解析外部引用(比如库)作为加载过程的一部分。在这些系统上,可执行文件包含一个叫做import directory的表,该表的每一项包含一个库的名字。根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。可执行程序根据更新后的库信息调用库中的函数或引用库中的数据。这种类型的动态加载成为装载时加载被包括Windows和Linux的大多数系统采用
操作系统在加载应用软件时要完成的最复杂的工作之一就是加载时链接。

其他操作系统可能在运行时解析引用。在这些系统上,可执行程序调用操作系统API,将库的名字,函数在库中的编号和函数参数一同传递。操作系统负责立即解析然后代表应用调用合适的函数。这种动态链接叫做运行时链接 。因为每个调用都会有系统开销,运行时链接要慢得多,对应用的性能有负面影响。现代操作系统已经很少使用运行时链接
可以动态链接的库,在Windows上是dynamic link library (DLL),在UNIX或Linux上是Shared Library。库文件是预先编译链接好的可执行文件,存储在计算机的硬盘上。大多数情况下,同一时间多个应用可以使用一个库的同一份拷贝,操作系统不需要加载这个库的多个实例。
发表于 2018-12-16 17:53:25 回复(0)
动态有多处提到:
在程序装入的时候,有一种装入方式叫动态地址重定位;
在程序链接的时候,有静态连接,装入时动态链接, 运行时动态链接;
发表于 2017-04-01 18:11:16 回复(0)
编译一般是检查语法,词法等错误。 调用时,也就是运行时。 紧凑时,我感觉的意思就是预处理的阶段吧,将声明引入的一些指令去掉,比如#include,#define等。
发表于 2017-08-22 07:13:08 回复(0)
紧凑时 是什么时候?
发表于 2015-08-26 08:41:42 回复(0)
装入时动态链接和运行时动态链接
编辑于 2021-12-06 18:14:26 回复(0)
静态重定位和动态重定位?

发表于 2019-07-14 20:08:26 回复(0)
编译一般是检查语法,词法等错误。
调用时,也就是运行时。
紧凑时,我感觉的意思就是预处理的阶段吧,将声明引入的一些指令去掉,比如#include,#define等。
发表于 2017-04-22 10:02:22 回复(0)
编译一般是检查语法,词法等错误。
调用时,也就是运行时。
紧凑时,我感觉的意思就是预处理的阶段吧,将声明引入的一些指令去掉,比如#include,#define等。
发表于 2017-03-08 09:22:29 回复(0)
其实B,C都可以,因为有装入时动态链接和运行时动态链接。
发表于 2016-12-13 22:39:56 回复(0)
动态链接有装入时动态连接和运行时动态链接,这题明显不严谨。
发表于 2016-06-11 09:56:47 回复(0)
B
有装载时动态链接和运行时动态链接,
调用与运行是不同的,
发表于 2015-10-06 09:36:42 回复(0)
b,c都可以吧?
发表于 2015-07-29 15:43:59 回复(0)