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

文档信息

前言

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

调用链接编辑器

直接调用

使用编译器驱动程序

32 位链接编辑器和 64 位链接编辑器

跨链接编辑

指定链接编辑器选项

输入文件处理

归档处理

共享目标文件处理

与其他库链接

库命名约定

同时链接共享目标文件和归档

命令行中归档的位置

链接编辑器搜索的目录

使用命令行选项

使用环境变量

运行时链接程序搜索的目录

初始化节和终止节

符号处理

符号解析

简单解析

复杂解析

致命解析

未定义符号

生成可执行输出文件

生成共享目标文件输出文件

弱符号

输出文件中的暂定符号顺序

定义其他符号

使用 -u 选项定义其他符号

定义符号引用

定义绝对符号

定义暂定 (tentative) 符号

扩充符号定义

缩减符号作用域

删除符号

外部绑定

字符串表压缩

生成输出文件

标识功能要求

标识平台功能

标识计算机功能

标识硬件功能

标识软件功能

软件功能帧指针处理

创建符号功能函数系列

创建符号功能数据项系列

将目标文件功能转换为符号功能

功能系列试验

重定位处理

位移重定位

桩目标文件

调试帮助

3.  运行时链接程序

4.  共享目标文件

5.  应用程序二进制接口与版本控制

6.  支持接口

7.  目标文件格式

8.  线程局部存储

9.  Mapfile

A.  链接编辑器快速参考

B.  版本控制快速参考

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

D.  直接绑定

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

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

索引

指定链接编辑器选项

大多数链接编辑器选项可以通过编译器驱动程序命令行传递。通常,编译器选项和链接编辑器选项不会产生冲突。如果产生冲突,编译器驱动程序通常会提供一种命令行语法,您可以使用该语法将特定选项传递到链接编辑器。此外,也可以通过设置 LD_OPTIONS 环境变量为链接编辑器提供选项。

$ LD_OPTIONS="-R /home/me/libs -L /home/me/libs" cc -o prog main.c -lfoo

链接编辑器解释 -R-L 选项。这些选项位于从编译器驱动程序接收的任何命令行选项的前面。

链接编辑器解析整个选项列表,以查找任何无效选项或具有无效关联参数的任何选项。如果发现其中任何一种情况,则生成一条相应的错误消息。如果认为错误是致命错误,链接编辑将终止。在以下示例中,链接编辑器通过检查捕获到非法选项 -X-z 选项的非法参数。

$ ld -X -z sillydefs main.o
ld: illegal option -- X
ld: fatal: option -z has illegal argument `sillydefs'

如果指定了某个需要关联参数的选项两次,链接编辑器将生成相应的警告,并继续进行链接编辑。

$ ld -e foo .... -e bar main.o
ld: warning: option -e appears more than once, first setting taken

链接编辑器还会检查选项列表,以查看是否存在任何致命的不一致项。

$ ld -dy -a main.o
ld: fatal: option -dy and -a are incompatible

处理了所有选项之后,如果未检测到任何致命错误情况,链接编辑器将继续处理输入文件。

有关最常用的链接编辑器选项,请参见附录 A;有关所有链接编辑器选项的完整说明,请参见 ld(1)