共享库和共享内存
本主题提供了有关所提供的用以共享库和内存分配的操作系统设施的信息。
操作系统为动态绑定共享库的创建和使用提供了工具。 动态绑定允许在用户代码中所引用且在共享库中所定义的外部符由装入程序在运行时解析。
共享库代码不在磁盘上的可执行文件映像中。 共享代码一旦在共享库段中被装入内存,就可被所有引用它的进程共享。 共享库的优点是:
- 使用更少的磁盘空间,因为共享库代码不包含在可执行程序中。
- 使用更少的内存,因为共享库代码只装入一次。
- 可能会减少装入时间,因为共享库代码可能已经在内存中。
- 可能会提高性能,因为当共享库代码已经在内存中时将生成更少的缺页故障。 然而,调用一个到八个指令的共享库例程可能要付出性能的代价。
除非使用 -bexpall 选项,否则必须使用导出文件将可用于引用模块的共享库代码中定义的符号显式导出。 该文件的第一行包含共享库的路径名(可选)。 随后的行包含要导出的符号。