Yefei.Blog

个人日记 WIKI

用户工具


Go程序采用动态链接库方式编译

Go语言编译出来的程序尺寸都比较大,是因为编译器把 Go 标准库都打包进去了,如果在同一台计算机上面有大量独立 Go 程序势必会造成空间浪费。

我们可以将 Go 的标准库编译成 .so 文件,然后再编译出来的程序直接调用 .so 文件这样就能共享库文件了。 大幅度减小程序文件的尺寸!

第一步:先将标准库编译成动态链接库

go install -buildmode=shared -linkshared std

第二步:在编译你的程序时加上 -linkshared 参数

go build -linkshared yourprogram

这样你的程序就会采用动态库的方式来调用标准库,程序尺寸会小到只有几十KB :-D

当然其他库也可以编译成动态链接库

go install -buildmode=shared -linkshared 包名称

皖ICP备15000265号

皖公网安备 34110302000106号