JavaScript is required to for searching.
跳过导航链接
退出打印视图
链接程序和库指南     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分使用链接编辑器和运行时链接程序

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

第 3 部分高级主题

6.  直接绑定

7.  生成目标文件以优化系统性能

使用 elfdump 分析文件

底层系统

延迟装入动态依赖项

与位置无关的代码

-K pic-K PIC 选项

删除未使用的材料

删除未使用的节

删除未使用的文件

删除未使用的依赖项

最大化可共享性

将只读数据移动到文本中

折叠多重定义数据

使用自动变量

动态分配缓冲区

最小化分页活动

重定位

符号查找

执行重定位的时间

组合重定位节

复制重定位

使用 -B symbolic 选项

配置共享目标文件

8.  mapfile

9.  接口和版本控制

10.  使用动态字符串标记建立依赖性

11.  可扩展性机制

第 4 部分ELF 应用程序二进制接口

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

A.  链接程序和库的更新及新增功能

B.  System V 发行版 4(版本 1)mapfile

索引

最小化分页活动

任何访问新页的进程都会导致页面错误,这是一种开销很大的操作。由于共享目标文件可供许多进程使用,因此,减少由于访问共享目标文件而生成的页面错误数会对进程和整个系统有益。

将常用例程及其数据组织到一组相邻页中通常会改善性能,因为这样改善了引用的邻近性。当进程调用其中一个函数时,此函数可能已在内存中,因为它与其他常用函数邻近。同样,将相互关联的函数组织在一起也会改善引用的邻近性。例如,如果每次调用 foo() 函数都会导致调用 bar() 函数,则应将这些函数放在同一页中。可以使用诸如 cflow(1)、tcov(1)、prof(1)gprof(1) 工具来确定代码适用范围和配置。

应将相关功能与其共享目标文件隔离开来。以前,生成的标准 C 库包含许多无关函数。仅在极少数情况下,某个可执行文件才可能会使用此库中的所有函数。由于这些函数用途广泛,因此,确定实际上最常用的函数组也具有一定的难度。相反,刚开始设计共享目标文件时,只在此共享目标文件中维护相关函数。这样会改善引用的邻近性,并会产生减小目标文件总体大小的负面影响。