四,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 交叉编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Kali Linux上安装LOIC
- 下一篇: VirtualBox虚拟机与主机互相访问