首页 > 其他分享 >Golang 跨平台编译

Golang 跨平台编译

时间:2023-01-17 11:23:21浏览次数:62  
标签:amd64 CGO Golang 编译 跨平台 GOARCH env go

CGO是什么

cgo 是在 Android 和 iOS 上运行 Go 程序的关键,它允许GO程序与C语言库相互操作
未用到CGO的时候,建议编译的时候禁用CGO,比如编译ARM架构的时候就需要打开该选项,该选项默认情况下为1

编译为exe可执行文件

go env -w CGO_ENABLED=0 # 禁用CGO
go env -w GOOS=windwos # 目标平台是Windows
go env -w GOARCH=amd64 # 目标处理器架构是amd64

编译为Linux可执行文件

go env -w CGO_ENABLED=0 # 禁用CGO
go env -w GOOS=linux # 目标平台是Linux
go env -w GOARCH=amd64 # 目标处理器架构是amd64

编译为Mac平台64位可执行文件

go env -w CGO_ENABLED=0 # 禁用CGO
go env -w GOOS=darwin # 目标平台是MacOS
go env -w GOARCH=amd64 # 目标处理器架构是amd64

GOARCH 中 386 与 amd64 的区别

386 代表 32 位系统,也称为 i386。名字源于 Intel 80386 指令集。
amd64 代表 64 位系统。名字源于 64 位指令集最早由 AMD 公司发布。

编译命令

go build main.go

注意:编译为linux可执行文件,上传到服务器后需要手动加入可执行权限 chmod +x main

标签:amd64,CGO,Golang,编译,跨平台,GOARCH,env,go
From: https://www.cnblogs.com/jruing/p/17057419.html

相关文章

  • 《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第十六章 另一种方式编译ZYNQ镜像​
    另一种方式编译ZYNQ镜像​由于前面我们一直都是使用xilinx的petalinux工具编译镜像文件,例如包括u-boot、linux内核、设备树、ZYNQPL端的bitstream文件以及fsbl等,虽然petali......
  • Golang如何实现节假日不打扰用户?
    ​1、场景想象下以下场景,嘿嘿...!一个iphone用户,闹钟是可以按节假日不响的!每日新闻机器人,节假日是可以不打扰我的!我的业务,节假日是可以...2、思路要实现识别节假日......
  • golang: os.open函数
    Open函数/*类似c里的fopen函数返回一个file的指针传入参数文件名(路径)*/funcOpen(namestring)(*File,error){/*调用OpenFile函数,传......
  • IDA Pro x64 反编译
    强大的静态反编译工具IDAPro上链接:http://sd.downxia.com/down/idapropjb.rar?key=2a7f8f40c7d9562d1bd832299040d9d1&uskey=1516d886918b2fdd593b0d599e74b2a93776af05......
  • golang:osd.read函数
    函数原型func(f*File)Read(b[]byte)(nint,errerror){//传入b一段内存Buff//检测file是否为空,为空则返回 iferr:=f.checkValid("read"......
  • 从零实现最简编译模型
    简介前两日我偶然间在GitHub上发现了一个项目:the-super-tiny-compiler,官方介绍说这可能是一个最简的编译器。刚好之前学过「编译原理」这门课,我的兴趣一下子就上来了,简......
  • golang 结构体
    结构体与JSON序列化JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON键值对是用来保存JS对象的一......
  • 【AI编译器原理】系列来啦!我们要从入门到放弃!
    随着深度学习的应用场景的不断泛化,深度学习计算任务也需要部署在不同的计算设备和硬件架构上;同时,实际部署或训练场景对性能往往也有着更为激进的要求,例如针对硬件特点定制......
  • (转)Golang中自动“取引用”和“解引用”对原值的影响
    原文:https://blog.csdn.net/u014633283/article/details/839020201.写在前面我们知道Golang在调用方法时,会自动对实参进行“取引用”或“解引用”操作。我们在前面的博客......
  • golang map的定义与使用
    Mapmap是一堆键值对的未排序集合,比如以身份证号作为唯一键来标识一个人的信息。map是引用类型,键必须支持相等运算符(==,!=)类型,比如:int,string,float等内建类型,只含......