查看linux cpu架构
uname -a
2023-01-31补充: 可以减少打包完后的体积
go build -ldflags "-s -w" main.go
-s 的作用是去掉符号信息。去掉符号表,golang panic 时 stack trace 就看不到文件名及出错行号信息了。
-w 的作用是去掉 DWARF tables 调试信息。结果就是得到的程序就不能用 gdb 调试了
mac上: GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o xxx main.go
编译arm架构上的linux版本
set GOARCH=arm64
set GOOS=linux
set CGO_ENABLED=0
go build
1、 MAC 下编译 Linux 、Windows
- linux
CGO_ENABLED=0
GOOS=linux
GOARCH=amd64
go build -o name main.go
- windows
CGO_ENABLED=0
GOOS=windows
GOARCH=amd64
go build -o name main.go
2、Linux 下编译 Mac、 Windows
- Mac
CGO_ENABLED=0
GOOS=darwin
GOARCH=amd64
go build -o name main.go
- Windows
CGO_ENABLED=0
GOOS=windows
GOARCH=amd64
go build -o name main.go
3、Windows 下编译 Mac 、Linux
- Mac
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build -o name main.go
- Linux
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -o name main.go