Golang 交叉编译之一文详解

博客原文
文章目录
- Golang 中的交叉编译
- 不同操作系统间的编译
- Linux 下编译
- windows
- macos
- windows 下编译
- Linux
- macos
- macos 下编译
- Linux
- windows
- 不同架构下的编译
- amd64
- x86
- 参考
Golang 中的交叉编译
在 Golang 中,交叉编译指的是在同一台机器上生成针对不同操作系统或硬件架构的二进制文件。这在开发跨平台应用或构建特定平台的发布版本时非常有用。
不同操作系统间的编译
Linux 下编译
windows
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
macos
$ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
windows 下编译
Linux
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go
推荐 git 终端:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
macos
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build main.go
git 终端:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
macos 下编译
Linux
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
windows
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
不同架构下的编译
amd64
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
x86
$ CGO_ENABLED=0 GOOS=linux GOARCH=386 go build main.go
注意不是 x86
上面几个示例中各环境变量的意思如下:
- CGO_ENABLED:CGO_ENABLED=0 意思是禁用 CGO,因为交叉编译不能启用 CGO。
- GOOS:表示目标平台,例如 mac 系统对应 darwin,linux 系统对应 linux,windows 系统对应 windows等。
- GOARCH:目标平台的架构,例如 amd64,arm等。
参考
- [Golang 中的交叉编译详解 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/649520911#:~:text=Golang 中的交叉编译在,Golang 中,交叉编译指的是在同一台机器上生成针对不同操作系统或硬件架构的二进制文件。 这在开发跨平台应用或构建特定平台的发布版本时非常有用。)
- Go 交叉编译 (跨平台编译) - 知乎 (zhihu.com)
相关文章:
Golang 交叉编译之一文详解
博客原文 文章目录 Golang 中的交叉编译不同操作系统间的编译Linux 下编译windowsmacos windows 下编译Linuxmacos macos 下编译Linuxwindows 不同架构下的编译amd64x86 参考 Golang 中的交叉编译 在 Golang 中,交叉编译指的是在同一台机器上生成针对不同操作系统或…...
最新ThinkPHP版本实现证书查询系统,实现批量数据导入,自动生成电子证书
前提:朋友弄了一个培训机构,培训考试合格后,给发证书,需要一个证书查询系统。委托我给弄一个,花了几个晚上给写的证书查询系统。 实现功能: 前端按照姓名手机号码进行证书查询证书信息展示证书展示&#x…...
windows安装运行Apache James(基于spring的版本)
下载地址 下载列表 https://james.apache.org/download.cgi 直接下载基于spring版本 https://www.apache.org/dyn/closer.lua/james/server/3.8.0/james-server-app-3.8.0-app.zip 设置签名 解压,并切换到james-server-spring-app-3.8.0目录下,在powe…...
Elasticsearch 基本概念:快速入门指南【记录】
简单记录,后续整理补充 介绍: Elasticsearch是一个分布式、可扩展、实时的搜索和分析引擎,建立在开源搜索库Lucene之上。它提供了强大的全文搜索功能和复杂的分析能力,适用于各种场景,包括应用日志分析、电子商务搜索…...
【JVM 基础】类字节码详解
JVM 基础 - 类字节码详解 多语言编译为字节码在JVM运行Java字节码文件Class文件的结构属性从一个例子开始反编译字节码文件字节码文件信息常量池方法表集合类名 再看两个示例分析try-catch-finallykotlin 函数扩展的实现 源代码通过编译器编译为字节码,再通过类加载…...
【算法】基础算法001之双指针
👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.数组分块…...
[力扣 Hot100]Day2 字母异位词分组
题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 出处 思路 这题有点考阅读理解,意思就是把输入数组中的所含字母相同但顺序不同的单词放到同…...
记一次 easyswoole 热重载失效复盘 grpc扩展惹的祸
首先看一下运行环境 swoole version 4.8.11 php version 7.4.33 easyswoole version 3.4.6 在easyswoole 的入口文件 如下: <?php namespace EasySwoole\EasySwoole; use App\WebSocket\WebSocketEvents; use Ap…...
存储过程从表中获取数据库名称
---------------业务数据库信息 CREATE TABLE [dbo].[app_erp_datbabase_conf] ( [id] [int] IDENTITY(1,1) NOT NULL, [database_type] [varchar](200) NOT NULL, [database_name] [varchar](200) NOT NULL, [create_time] [datetime] NULL, [modify_t…...
.NET 反射的介绍和简单应用
什么是反射? 反射就是动态发现类型信息的能力。它帮助程序设计人员在程序运行时利用一些信息去动态地使用类型,这些信息在设计时是未知的,这种能力类似于后期绑定。反射还支持的更高级的行为,能在运行时动态创建新类型࿰…...
在drawio中使用BPMN2.0绘制详细的业务流程图和编排模型
在drawio中使用BPMN2.0绘制详细的业务流程图和编排模型 drawio是一款强大的图表绘制软件,支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用,则直接输入网址draw.io或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功…...
GO——defer函数
定义 当前函数返回之前执行传入函数的一个关键字 执行时间 当前函数返回前执行 常用于 关闭文件描述符关闭数据库链接解锁资源 原理 参考:https://draveness.me/golang/docs/part2-foundation/ch05-keyword/golang-defer/ 后调用的 defer 函数会先执行&…...
【UE Niagara学习笔记】06 - 制作火焰喷射过程中飞舞的火星
在上一篇博客(【UE Niagara学习笔记】05 - 喷射火焰顶部的蓝色火焰)的基础上继续实现喷射火焰的火星的效果。 目录 效果 步骤 一、创建材质实例 二、添加新的发射器 2.1 设置粒子材质 2.2 设置发射器持续生成粒子 2.3 设置粒子生成数量 2.4 设…...
机器学习笔记一之入门概念
目录 一 基本分类二 按模型分类概率模型(Probabilistic Models)非概率模型(Non-Probabilistic Models)对比结论线性模型 (Linear Models)非线性模型 (Non-linear Models)对比 三 按算法分类1.批量学习(Batch Learning&…...
用于脚本支持的 CSS 媒体查询
Chrome 120 于近日发布,在这个版本中,我们获得了用于脚本支持的 CSS 媒体查询。简单地说,此媒体查询允许我们测试脚本语言是否可用,并根据支持定制页面内容和样式。我是白特,让我们一起来学习下吧。 媒体查询语法 媒…...
【HBase】——整合Phoenix
1 概述 Phoenix 是 HBase 的开源 SQL 皮肤。可以使用标准 JDBC API 代替 HBase 客户端 API 来创建表,插入数据和查询 HBase 数据。 Phoenix 在 5.0 版本默认提供有两种客户端使用(瘦客户端和胖客户端),在 5.1.2 版本 安装包中…...
【操作系统xv6】学习记录5--实验1 Lab: Xv6 and Unix utilities
ref:https://pdos.csail.mit.edu/6.828/2020/xv6.html 实验:Lab: Xv6 and Unix utilities 环境搭建 实验环境搭建:https://blog.csdn.net/qq_45512097/article/details/126741793 搭建了1天,大家自求多福吧,哎。~搞环境真是折磨…...
Python从入门到网络爬虫(控制语句详解)
前言 做任何事情都要遵循一定的原则。例如,到图书馆去借书,就需要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计亦是如此,需要使用流程控制实现与用户的交流,并根据用户需求决定程序“做什么…...
transbigdata笔记:数据预处理
0 数据 使用 transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main ni1o1/transbigdata (github.com) 和transbigdata/docs/source/gallery/data/sz.json at main ni1o1/transbigdata (github.com) 0.1 导入库 import transbigdata as tbd import pandas …...
java中解码和编码出现乱码原因
一、UTF-8和GBK编码方式 如果采用的是UTF-8的编码方式,那么1个英文字母 占 1个字节,1个中文占3个字节如果采用GBK的编码方式,那么1个英文字母 占 1个字节,1个中文占2个字节 二、idea和eclipse的默认编码方式 其实idea和eclipse的…...
EVA-7M,支持GPS/GLONASS及低功耗省电模式的超紧凑型GNSS模块
简介今天我要向大家介绍的是 u-blox 的超紧凑型独立GNSS定位模块——EVA-7M。这是一款专为对成本和空间敏感的应用而设计的独立GNSS模块。该模块基于 u-blox 7 定位引擎(接收GPS、GLONASS、QZSS和SBAS信号)设计,采用行业最小的独立GNSS封装尺…...
浏览器资源嗅探神器猫抓Cat-Catch:3分钟学会抓取网页视频音频资源
浏览器资源嗅探神器猫抓Cat-Catch:3分钟学会抓取网页视频音频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过想下…...
OmenSuperHub:惠普OMEN游戏本性能优化终极指南 - 完全免费开源解决方案
OmenSuperHub:惠普OMEN游戏本性能优化终极指南 - 完全免费开源解决方案 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为惠普OMEN游戏本官…...
STM32驱动段码屏实战:手把手教你用HT1621B做个简易电子钟(附完整代码)
STM32与HT1621B打造高精度电子钟:从硬件连接到动态显示全解析 在嵌入式开发领域,能够将理论知识转化为实际项目的能力至关重要。本文将带您完成一个完整的电子钟项目,使用STM32微控制器和HT1621B驱动器来驱动段码液晶屏。不同于简单的驱动演示…...
用Arduino Nano和MAX7219模块,5分钟搞定一个8x8 LED点阵显示(附完整代码)
用Arduino Nano和MAX7219模块快速打造8x8 LED点阵显示系统 周末整理零件箱时翻出一片落灰的MAX7219模块和Arduino Nano,突然想起可以给工作室做个实时温度显示器。这个组合堪称电子爱好者的"乐高积木"——不需要复杂的电路设计,短短几行代码就…...
金融技能学习路径:从财务基础到Python建模的实战指南
1. 项目概述:为什么我们需要一个“金融技能”清单?如果你在金融行业工作,或者对个人理财、投资分析、公司财务感兴趣,你大概率有过这样的经历:面对海量的在线课程、书籍、论坛帖子和工具推荐,感到无所适从。…...
从零到一:基于STM32CubeMX与FSMC高效点亮TFT LCD屏的实战指南
1. 硬件准备与环境搭建 第一次接触STM32和TFT LCD屏时,我完全被各种接线和术语搞晕了。后来才发现,只要选对硬件组合,事情就成功了一半。我用的STM32F103ZET6开发板(俗称大容量版)和正点原子2.8寸LCD屏,这套…...
告别网络瓶颈:手把手教你用K8s RDMA Device Plugin和SR-IOV CNI搭建超低延迟通信栈
云原生时代的超高速通信:基于K8s RDMA与SR-IOV的实战架构设计 当分布式AI训练任务因为网络延迟导致GPU利用率不足50%,当金融高频交易系统因TCP协议栈开销错过最佳套利窗口,传统网络架构已成为性能瓶颈的罪魁祸首。本文将揭示如何通过RDMA&…...
Simple Runtime Window Editor:突破游戏窗口限制的终极解决方案
Simple Runtime Window Editor:突破游戏窗口限制的终极解决方案 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾为游戏内置分辨率选项太少而烦恼?是否想在窗口模式下获得全屏游戏…...
【人生底稿 28】新疆出差终章:几番波折终汇报,尽兴踏归津门路
三日游玩尽数落幕,忙碌工作正式回归。轻松的闲暇时光悄然收尾,紧绷的工作状态再次上线。整趟新疆之行,在起伏辗转中迎来最终收尾。一、深夜复盘材料,彻夜待汇报游玩结束回到酒店,我没有松懈休息,静下心重新…...
