脚本宝典收集整理的这篇文章主要介绍了go编译中常用的xgo和upx工具详解,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
go编译中常用的xgo和upx工具详解
- go自带跨平台编译功能
- mac/linux 执行命令:CGO_ENABLED=0 GOOS=linux/darwin GOARCH=amd64 go build filename.go -o outname
- windows 执行命令 SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build filename.go
一、go的交叉编译工具xgo
-
版本
- 原始版本,不支持go mod,github.com/karalabe/xgo
- 安装go get github.com/karalabe/xgo
- 支持go mod的版本, github.com/techknowlogick/xgo
- 注意安装要用,go get src.techknowlogick.com/xgo
- go get github.com/techknowlogick/xgo 会报错,提示你用上面的命令
-
依赖
- 不管何种版本的xgo都依赖于docker,所以你的电脑一定要在docker
- 可以手动pull相关镜像,例如,docker pull techknowlogick/xgo:latest
- 如果要的镜像不存在,xgo命令会自动执行docker的pull命令去安装对应的镜像
-
命令
-
参考文档
- https://blog.csdn.net/weixin_49393427/article/details/114265359
- https://zhuanlan.zhihu.com/p/27152999
二、 二进制文件压缩工具upx
- go生成的二进制文件,可能非常大,上传服务器什么非常吗
- upx可以有效压缩二进制文件
- 安装方法
- Mac brew install upx
- centos yum install upx -y
- Debian apt install upx
- 使用方法
- upx 二进制文件
- 压缩后的文件会直接替换原文件,一般都能减小40%
脚本宝典总结
以上是脚本宝典为你收集整理的go编译中常用的xgo和upx工具详解全部内容,希望文章能够帮你解决go编译中常用的xgo和upx工具详解所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。