You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Go汇编中编写@GOTPCREL指令以加载外部符号地址?

Go汇编中实现加载外部符号地址并与零比较的指令

常规x86_64汇编里对应的指令是:

cmpq    $0, _clock_gettime@GOTPCREL(%rip)

在Go汇编中实现相同逻辑,需要适配Go的汇编语法规则,写法如下:

CMPQ    $0, clock_gettime(GOTPCREL)(RIP)

关键细节说明:

  • Go汇编要求指令助记符使用大写形式,比如CMPQ而非小写的cmpq
  • 访问全局偏移表(GOT)的语法改为符号名(GOTPCREL)(RIP),替代常规汇编里的符号@GOTPCREL(%rip)格式
  • 符号名无需添加下划线前缀,直接写clock_gettime即可,Go汇编会自动处理链接阶段的符号转换细节

内容的提问来源于stack exchange,提问作者Lawrence D'Anna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:40:53