. 弱伪操作
用途
声明符号为具有弱绑定的全局符号。
语法
.small 名称 [, 可见性 ]
描述
.弱势 伪操作指示符号 Name 是具有弱绑定的全局符号,可由其他文件在链接时引用。 .extern, .globl或 .comm 伪操作也可用于生成全局符号。
对符号使用 .弱势 伪操作后,对同一符号使用 .globl, .extern或 .comm 伪操作不会影响符号的弱绑定属性。
链接程序将忽略具有弱绑定的符号的重复定义。 如果全局符号在一个文件中不是弱的,而在其他文件中是弱的,那么将使用全局定义并忽略弱定义。 如果所有定义都是弱定义,那么将使用第一个弱定义。
可以使用 可视性 参数来指定弱符号的可视性。
参数
| 项 | 描述 |
|---|---|
| NAME | 将 "名称" 声明为具有弱绑定的全局符号。 Name 可以是 Qualname。 (一个Qualname指定了控制部分的名称和StorageMappingClass) |
| 可视性 | 指定符号的可视性。 有效的可视性值为 导出, 隐藏, 内部和 受保护。 链接程序使用符号可视性。 |
示例
以下示例说明了如何使用 .weak 伪操作:
.weak foo[RW]
.csect data[RW]