原文转载自,助安社区(https://secself.com/)
交叉编译
程序交叉编译后就可以在各操作系统执行,非Java或Python依赖虚拟机,Go编译后不依赖虚拟机。
内核架构位
代码
package main
import "fmt"
func main() {
fmt.Println("https://secself.com")
}
内核:
内核是操作系统的核心,windows不必多说,Linux家族主流内核freebsd、netbsd、solaris等。Mac内核darwin,Darwin 是一种Unix-like(类Unix)操作系统。
架构:
X86armamdintelX86
X86
ARMX86
位:
X8632位X6464位X64X86x86_64X86
Go支持的平台
$GOOS | $GOARCH |
---|---|
darwin | 386 |
darwin | amd64 |
darwin | arm |
darwin | arm64 |
dragonfly | amd64 |
freebsd | 386 |
freebsd | amd64 |
freebsd | arm |
linux | 386 |
linux | amd64 |
linux | arm |
linux | arm64 |
linux | ppc64 |
linux | ppc64le |
netbsd | 386 |
netbsd | amd64 |
netbsd | arm |
openbsd | 386 |
openbsd | amd64 |
openbsd | arm |
plan9 | 386 |
plan9 | amd64 |
solaris | amd64 |
windows | 386 |
windows | amd64 |
windows | arm |
windows | arm64 |
Windows
编译windows平台可执行文件
$ GOOS=windows GOARCH=amd64 go build test.go
Linux
编译Linux平台可执行文件
$ GOOS=linux GOARCH=amd64 go build test.go
Mac
$ GOOS=darwin GOARCH=amd64 go build test.go