四,Golang 交叉编译
一.golang支持在一个平台下生成另一个平台可执行程序的交叉编译功能,
1.Mac下编译Linux,windows平台的64位可执行程序:
CGO_ENABLE=0 GOOS=linux GOARCH=amd64 go build main.go
CGO_ENABLE=0 GOOS=windows GOARCH=amd64 go build main.go
2.Linux下编译Mac,Windows平台的64位可执行程序:
CGO_ENABLE=0 GOOS=darwin GOARCH=amd64 go build main.go
CGO_ENABLE=0 GOOS=windows GOARCH=amd64 go build main.go
3,Windows下编译mac,Linux平台64可执行程序:
set CGO_ENABLE=0
set GOOS=darwin
set GOARCH=amd64
go build main.go
set CGO_ENABLE=0
set GOOS=linux
set GOARCH=amd64
go build main.go
GOOS:目标可执行程序运行操作系统,支持darwin,freebsd,linux,windows
GOARCH:目标可执行程序操作程序系统架构,包括386,amd64,arm
二,windows编辑linux可执行程序,打开cmd窗口,进入目标目录,执行以上四条,生成一个二进制文件main,可直接在linux系统执行。
上传至linux上,直接./maina会报错,找不到指定文件,因为需要授予可执行权限:
chmod 777 main
再次执行./main即可。
三,linux上运行go二进制程序当作服务,例如使用golang ,gin写restful风格接口,现在要开启该服务,则需要不挂断的执行该程序,使用nohup命令:
nohup ./main &
开启该服务,即开启一个进程,可ps aux|grep main查看进程序号,kill -9 进程序号,杀死进程。
四,若golang项目源码中需要引入配置文件等,则在linux服务器上,二进制所在目录下建立对应的目录结构及文件即可。
转载于:https://www.cnblogs.com/li-jing/p/10216224.html
四,Golang 交叉编译相关推荐
- Gin实践 番外 Golang交叉编译
Golang交叉编译 项目地址:https://github.com/EDDYCJY/go... (快上车,支持一波) 原文地址:https://segmentfault.com/a/11... 前言 ...
- cgo linux arm,Golang交叉编译各个平台的二进制文件
熟悉golang的人都知道,golang交叉编译很简单的,只要设置几个环境变量就可以了 # mac上编译linux和windows二进制 CGO_ENABLED=0 GOOS=linux GOARCH ...
- golang 交叉编译总结
golang 交叉编译golang 交叉编译牵涉到三个变量CGO_ENABLED = 0 表示设置CGO工具不可用,使用go自己的编译器 GOOS:目标操作系统 GOARCH 表示程序构建环境的目标计 ...
- Golang交叉编译Sqlite3踩坑记录
Golang交叉编译Sqlite3踩坑记录 ,windows下编译golang go-sqlite3解决方案 众所周知Golang能够在一个平台编译不同平台可执行程序进行发布 然而在遇到需要内置处理程 ...
- golang交叉编译工具,gox使用入门
gox入门教程 先说下交叉编译是什么? 交叉编译也就是你可以在linux上编译出可以在windows上运行的程序,在32位系统编译出64位系统运行的程序. gox就是方便你使用golang的交叉编译 ...
- go 编译 android arm,golang交叉编译
go env检查各项环境变量无误 进入shell环境(Windows为cmd环境),切换到项目工程的源码目录(包含main包的那个目录) 设置好环境变量,关闭CGO(交叉编译不支持所以要关闭),将编译 ...
- Golang 交叉编译
各平台的GOOS和GOARCH参考 OS ARCH OS version linux 386 / amd64 / arm >= Linux 2.6 darwin 386 / amd64 OS X ...
- golang交叉编译
Windows 下编译 Mac 和 Linux 64位可执行程序 SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build main.go ...
- Golang的交叉编译问题
参考:Golang交叉编译各个平台的二进制文件 - Go语言中文网 - Golang中文社区 (studygolang.com).也谈Go的可移植性 | Tony Bai 今天准备将一个在Mac上开发 ...
最新文章
- “云计算”三部曲之二:与“云”共舞——再谈云计算
- 最大权闭合 图 讲解
- PHP类中的__get()和__set函数到底有什么用
- Qt Creator指定动态属性
- 2022 WebRTC发展趋势分析
- CVPR 2019 | 旷视提出超分辨率新方法Meta-SR:单一模型实现任意缩放因子
- c语言输入字符串smallbig,为什么输出不了small,这里big和small都是一样的操
- 中文代码编写php,PHP开发网站代码编写规范
- [导入]Mobile Media API概述
- 学云计算需要准备哪些知识?
- python_day10のPython操作 RabbitMQ、Redis、Memcache
- ffmpeg中tbr tbc tbn的含义解释
- 微信公众号扫一扫功能vue配置
- 微信屏蔽网页的依据是什么?
- 键盘·由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备。 (代码19)
- python组合求和-近似值
- 批量重命名文件中的照片
- OpenStack-国基北盛搭建,跑脚本安装各组件步骤详解
- dell r630 配置raid_DELL服务器硬件 配置RAID磁盘阵列 iDRAC配置
- i3 10100性能参数 i310100怎么样