go build 和 go install 都需要使用源码来进行编译。但是有时候我们只有.a或者.so文件。并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧;

GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造 go 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

上图是实验前的文件分布。

使用静态链接库编译命令:

  src go tool compile -I ../pkg/darwin_amd64/  callyx.go 
  src go tool link -o call2 -L ../pkg/darwin_amd64/ callyx.o

实验后文件分布:

GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造 go 第2张

由图中我们可以看到,可执行文件生成。

资源来源自网络,如果对您有帮助,请关注 cnblogs.com/xuyaowen

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄