JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 链接程序和库指南     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

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

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

静态模式

创建可重定位目标文件

创建静态可执行文件

动态模式

创建共享目标文件

创建动态可执行文件

第 3 部分高级主题

6.  直接绑定

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

8.  Mapfile

9.  接口和版本控制

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

11.  可扩展性机制

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

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

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

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

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

动态模式

动态模式是链接编辑器的缺省操作模式。通过指定 -d y 选项可以强制执行此模式;但是只要不使用 -d n 选项,便隐含表示为使用此模式。

在此模式下,可以接受的输入形式包括可重定位目标文件、共享目标文件和归档库。使用 -l 选项可以进行目录搜索,即搜索每个目录以查找共享目标文件。如果未找到任何共享目标文件,则会搜索同一目录来查找归档库。使用 -B static 选项可以强制仅对归档库执行搜索。请参见同时链接共享目标文件和归档

创建共享目标文件

以下示例结合了以上几点。

$ cc -c -o foo.o -K pic -xregs=no%appl foo.c
$ cc -M mapfile -G -o libfoo.so.1 -z text -z defs -B direct -z lazyload \
-z discard-unused=sections -R /home/lib foo.o -L. -lbar -lc

以下示例结合了以上几点。

$ cc -M mapfile -G -o libfoo.so.1 -z text -z defs -B direct -z lazyload \
-z discard-unused=sections -R /home/lib -h libfoo.so.1 foo.o -L. -lbar -lc
$ ln -s libfoo.so.1 libfoo.so

创建动态可执行文件

以下示例结合了以上几点。

$ cc -o prog -R /home/lib -z discard-unused=dependencies -z lazyload -B direct -L. \
-lfoo file1.o file2.o file3.o .....