代码改变世界

Golang 交叉编译

  woodzcl  阅读(516)  评论(0)    收藏  举报

Go 在ver>=1.5的版本中,实现交叉编译如此简单

交叉编译依赖下面几个环境变量:

$GOARCH    目标平台(编译后的目标平台)的处理器架构(386、amd64、arm)
$GOOS          目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows)


各平台的GOOSGOARCH参考 

OS                   ARCH                          OS version

linux                386 / amd64 / arm             >= Linux 2.6

darwin               386 / amd64                   OS X (Snow Leopard + Lion)

freebsd              386 / amd64                   >= FreeBSD 7

windows              386 / amd64                   >= Windows 2000

 

二 go源码

//test.go

package main

 

import "fmt"

 

func main() {

   fmt.Println("Hello, World!")

}

三 编译windows平台下的exe文件

ubuntu下交叉编译

# CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

# ls

test.exe  test.go

四 验证

//拷贝至windows下运行(SecureCRT)

C:\WINDOWS\system32>C:\test.exe

Hello, World!

 

Finally:

Golang,我又回来了,岁月如初,你可安好?

哈哈哈

 

编辑推荐:
· 如何统计不同电话号码的个数?—位图法
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 从零实现富文本编辑器#3-基于Delta的线性数据结构模型
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 长文讲解 MCP 和案例实战
阅读排行:
· 基于Blazor实现的运输信息管理系统
· 微信支付功能的设计实现与关键实践(UniApp+Java)全代码
· 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析
· 三维装箱问题(3D Bin Packing Problem, 3D-BPP)
· MCP协议Streamable HTTP
点击右上角即可分享
微信分享提示