# 例如,为amd64架构的Linux系统编译 GOARCH=amd64 GOOS=linux go build -o myprogram-linux-amd64 myprogram.go 性能优化:虽然Go语言在aarch64架构上运行良好,但某些性能敏感的应用可能需要针对aarch64架构进行优化。这包括使用特定的CPU指令集扩展和调优Go的运行时参数。 依赖管理:确保你使用的所有第三方库都...
set GOARCH=amd64 1. 2. 根据你的Linux目标机器,可能需要改变GOARCH为其他架构,如arm64。 现在可以编译程序了。假设你的程序代码位于main.go文件中,运行: go build -o my_mysql_app_linux main.go 1. 这样就会编译出一个名为my_mysql_app_linux的Linux可执行文件,可以在Linux环境下运行。 将编译完成的my_...
设置环境变量:设置环境变量,以便 Go 能够找到 Amazon Linux 的交叉编译工具链。 exportCGO_ENABLED=0exportGOOS=linuxexportGOARCH=amd64exportGO111MODULE=on 1. 2. 3. 4. 这些变量设置了目标操作系统 (GOOS=linux) 和架构 (GOARCH=amd64),并禁用了 CGO(CGO_ENABLED=0),因为 Amazon Linux 使用 musl libc,...
由于GC的调整,某些应用程序可能会看到高达40%尾部潜伏期减少。收集跟踪使用运行时/跟踪在amd64和arm64上产生的CPU成本大大减小。WASI接口 Go 1.21 添加了WebAssembly系统接口(WASI),预览版1 ( GOOS=wasip1, GOARCH=wasm)。用于方便编写更通用的WebAssembly (Wasm) 代码,编译器还支持从Wasm主机导入函数的新指令...
由于自动设置了环境变量,故在终端可以直接执行 go env 查看go 环境的配置信息C:\Users\User>go env set GO111MODULE= set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\User\AppData\Local\go-build set GOENV=C:\Users\User\AppData\Roaming\go\...
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./bin/bluebell 下面假设我们将本地编译好的 bluebell 二进制文件、配置文件和静态文件等上传到服务器的/data/app/bluebell目录下。 补充一点,如果嫌弃编译后的二进制文件太大,可以在编译的时候加上-ldflags "-s -w"参数去掉符号表和调试信息,一般能减小...
export GOARCH=amd64 go build main.go 备注 CGO_ENABLED解释 默认情况下,Go的runtime环境变量CGO_ENABLED=1,即默认开始cgo,允许你在Go代码中调用C代码 如果标准库中是在CGO_ENABLED=1情况下编译的,那么编译出来的最终二进制文件可能是动态链接,所以建议设置 CGO_ENABLED=0以避免移植过程中出现的不必要问题。
GO111MODULE='on'GOARCH='amd64'GOBIN=''GOCACHE='/Users/thinkook/Library/Caches/go-build'GOENV='/Users/thinkook/Library/Application Support/go/env'GOEXE=''GOEXPERIMENT=''GOFLAGS=''GOHOSTARCH='amd64'GOHOSTOS='darwin'GOINSECURE=''GOMODCACHE='/Users/thinkook/go/pkg/mod'GONOPROXY=''GON...
goarch: amd64 Benchmark_Add-4 20000000 0.33 ns/op PASS ok command-line-arguments 0.700s 代码说明如下: 第1 行的-bench=.表示运行 benchmark_test.go 文件里的所有基准测试,和单元测试中的-run类似。 第4 行中显示基准测试名称,2000000000 表示测试的次数,也就是 testing.B 结构中提供给程序使用的 N。
Golang支持交叉编译,也就是说你在32位平台的机器上开发,可以编译生成64位平台上的可执行程序。 交叉编译依赖下面几个环境变量: $GOARCH 目标平台(编译后的目标平台)的处理器架构(386、amd64、arm) $GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows) ...