日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

go build编译不同环境

發布時間:2023/11/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 go build编译不同环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#usage: go build [-o output] [-i] [build flags] [packages]

go build的使用比較簡潔,所有的參數都可以忽略,直到只有go build,這個時候意味著使用當前目錄進行編譯,下面的幾條命令是等價的:

go buildgo build .go build hello.go

go build 提供了跨平臺編譯,默認情況下,都是根據我們當前的機器生成的可執行文件,比如你的是Linux 64位,就會生成Linux 64位下的可執行文件,比如我的deepin;可以使用go env查看編譯環境,以下截取重要的部分。

GOARCH="amd64" GOBIN="" GOCACHE="/home/dongge/.cache/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/dongge/go-work" GOPROXY="http://goproxy.epwk.tech" GORACE="" GOROOT="/usr/local/go" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/media/dongge/D/data/webroot/esign.epweike.net/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build619617777=/tmp/go-build -gno-record-gcc-switches"

注意里面兩個重要的環境變量GOOS和GOARCH,其中GOOS指的是目標操作系統,它的可用值為:

  • darwin

  • freebsd

  • linux

  • windows

  • android

  • dragonfly

  • netbsd

  • openbsd

  • plan9

  • solaris

  • 一共支持10種操作系統。GOARCH指的是目標處理器的架構,目前支持的有:

  • arm

  • arm64

  • 386

  • amd64

  • ppc64

  • ppc64le

  • mips64

  • mips64le

  • s390x

  •   一共支持9種處理器的架構,GOOS和GOARCH組合起來,支持生成的可執行程序種類很多,具體組合參考:

      https://golang.org/doc/install/source#environment

    ?

    如果我們要生成不同平臺架構的可執行程序,只要改變這兩個環境變量就可以了,比如要生成Linux 64位的程序,命令如下:

    GOOS=linux GOARCH=amd64 go build flysnow.org/hello

    ?

    轉載于:https://www.cnblogs.com/Dong-Ge/articles/11276862.html

    總結

    以上是生活随笔為你收集整理的go build编译不同环境的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。