当前位置: 技术问答>linux和unix
aix run-time linking
来源: 互联网 发布时间:2016-07-26
本文导语: 以下几段是AIX的关于run-time linking 的帮助文档, 谁能帮忙大概翻译一下,或解释一下概念.比如 deferred/non-deferred Symbol , Symbol rebind, 还有最后一段使用run-time linking 的优点看不太懂. all referenced symbols must be resol...
以下几段是AIX的关于run-time linking 的帮助文档, 谁能帮忙大概翻译一下,或解释一下概念.比如
deferred/non-deferred Symbol , Symbol rebind, 还有最后一段使用run-time linking
的优点看不太懂.
all referenced symbols
must be resolved at link-time when building executable files using the default,
static, and lazy loading link methods on AIX. Those pre-resolved symbols cannot
be rebound after the executable files are created .
The run-time link method, or run-time linking, enables a program to resolve its
referenced symbols at the program load-time rather than link-time. It is the ability
to resolve undefined and non-deferred symbols in shared modules after the
program execution has already began. It is a mechanism for providing run-time
definitions (for example, function definitions that are not available at the program
link-time) and symbol rebinding capabilities.
Note: In AIX, even if the run-time link method is used, all symbols except for
the deferred symbols must be resolved at the
program load-time. However, in some other UNIX operating systems,
resolution of function symbols is deferred until the function is first called
(references to variables must be resolved at load-time). This allows the
definition for a function to be loaded after the module referring to that symbol
is loaded on those operating systems
An advantage of using run-time linking is that developers do not need to maintain
a list of module interdependencies and import/export lists (see 2.8.1, “Import and
export files” on page 92). By using the -bexpall linker option, all shared objects
can export all symbols, and the run-time linker can be used to resolve the
inter-module dependencies.
deferred/non-deferred Symbol , Symbol rebind, 还有最后一段使用run-time linking
的优点看不太懂.
all referenced symbols
must be resolved at link-time when building executable files using the default,
static, and lazy loading link methods on AIX. Those pre-resolved symbols cannot
be rebound after the executable files are created .
The run-time link method, or run-time linking, enables a program to resolve its
referenced symbols at the program load-time rather than link-time. It is the ability
to resolve undefined and non-deferred symbols in shared modules after the
program execution has already began. It is a mechanism for providing run-time
definitions (for example, function definitions that are not available at the program
link-time) and symbol rebinding capabilities.
Note: In AIX, even if the run-time link method is used, all symbols except for
the deferred symbols must be resolved at the
program load-time. However, in some other UNIX operating systems,
resolution of function symbols is deferred until the function is first called
(references to variables must be resolved at load-time). This allows the
definition for a function to be loaded after the module referring to that symbol
is loaded on those operating systems
An advantage of using run-time linking is that developers do not need to maintain
a list of module interdependencies and import/export lists (see 2.8.1, “Import and
export files” on page 92). By using the -bexpall linker option, all shared objects
can export all symbols, and the run-time linker can be used to resolve the
inter-module dependencies.
|
在aix上,所有的引用符号必须在使用默认的、静态的、延迟加载等链接方法链接时被确定。
这些事先确定的符号不能在可执行文件被创建之后重新装载(rebound)。
运行时链接方法,或者运行时链接,能够使一个程序在加载时而不是链接时确定它的引用符号。
这是一种在程序已经开始运行之后才去决定共享模块里未定义的符号和非延迟的符号的能力。
它提供了一种运行时定义(例如函数定义在程序链接时还不可用)和符号重新链接能力机制。
注意:在aix上,即使已经使用了运行时链接方法,除了延迟符号之外的所有符号必须在程序加载时确定
。然而,在一些其他的UNIX操作系统上,函数符号的确定可以延迟到函数第一次被调用(变量的引用必须
在加载时确定)。在其他操作系统上允许定义一个在引用它的模块已经被装载之后才被装载的函数。
使用运行时链接的好处是,开发者不需要维护一个模块依赖和导入/导出表(参见2.8.1 “导入导出文件”)。通过使用 -bexpall 链接选项,所有的共享的目标能够导出所有的符号,运行时连接器能够解决模块间的依赖。
这些事先确定的符号不能在可执行文件被创建之后重新装载(rebound)。
运行时链接方法,或者运行时链接,能够使一个程序在加载时而不是链接时确定它的引用符号。
这是一种在程序已经开始运行之后才去决定共享模块里未定义的符号和非延迟的符号的能力。
它提供了一种运行时定义(例如函数定义在程序链接时还不可用)和符号重新链接能力机制。
注意:在aix上,即使已经使用了运行时链接方法,除了延迟符号之外的所有符号必须在程序加载时确定
。然而,在一些其他的UNIX操作系统上,函数符号的确定可以延迟到函数第一次被调用(变量的引用必须
在加载时确定)。在其他操作系统上允许定义一个在引用它的模块已经被装载之后才被装载的函数。
使用运行时链接的好处是,开发者不需要维护一个模块依赖和导入/导出表(参见2.8.1 “导入导出文件”)。通过使用 -bexpall 链接选项,所有的共享的目标能够导出所有的符号,运行时连接器能够解决模块间的依赖。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。