【问题标题】:Building go linker as a stand alone tool [closed]将 Go 链接器构建为独立工具 [关闭]
【发布时间】:2014-07-05 02:40:02
【问题描述】:

我正在浏览 go 源代码,我想将其构建为 osx 的独立链接器,可以生成 mach-o 文件。有没有办法做到这一点?

【问题讨论】:

  • 已经有一个独立的链接器,由go build 调用。检查go tool 6l -h的输出。
  • 不太清楚你为什么用“c”来标记它...你是在问一个关于用 cgo 生成独立二进制文件的问题吗?
  • @nemo 不,我的意思是从 go build 工具中的链接器中获取源代码,并使其成为一个单独的问题
  • @user3131007 但它已经是一个单独的工具。 go tool 只是一种运行方式。检查go tool -n 6l的输出。
  • @nemo 但是我可以独立获取这些链接器的源代码吗?

标签: c macos linker go executable


【解决方案1】:

链接器已经是一个独立的工具。运行就可以看到

go tool -n 6l

这将打印6l(x86 64 位链接器)可执行文件的位置。

6l的源码可以在GOROOT/src/cmd/6l找到。

在该目录中,您可以使用make 来构建它。

【讨论】:

  • 这太棒了!谢谢!
  • 请注意,i386 的链接器称为 8l,ARM 的链接器称为 5l。这是 Plan 9 命名约定,其中第一个字母表示架构(例如,6 表示 amd64,1 表示 68k,5 表示 arm,...),第二个字母表示工具(l 表示链接器,c 表示 C 编译器, g 用于 Go 编译器)。
猜你喜欢
  • 2014-06-27
  • 2012-02-16
  • 1970-01-01
  • 2013-07-17
  • 2012-02-21
  • 2019-02-22
  • 2012-05-18
  • 1970-01-01
  • 2012-05-18
相关资源
最近更新 更多