Rumah  >  Artikel  >  pembangunan bahagian belakang  >  proses penyusunan silang golang

proses penyusunan silang golang

PHPz
PHPzasal
2023-05-10 10:22:361191semak imbas

Dengan pembangunan pengkomputeran awan, semakin banyak aplikasi perlu dijalankan merentasi platform, sebagai bahasa yang ditaip kuat, juga berfungsi dengan baik dalam bidang ini. Penyusunan silang ialah proses menyusun kod sumber dalam satu persekitaran platform dan menjalankannya pada platform lain. Artikel ini akan memperkenalkan proses kompilasi silang Golang.

Proses kompilasi silang

Mula-mula, anda perlu memuat turun rantai alat kompilasi silang. Di laman web rasmi Golang, kami boleh menemui pautan muat turun yang sepadan dengan platform, seperti yang ditunjukkan di bawah:

proses penyusunan silang golang

Selepas memilih sistem pengendalian, seni bina dan versi CPU yang sepadan, Unzip ke mana-mana direktori.

Seterusnya, anda perlu menetapkan pembolehubah persekitaran dalam terminal supaya Golang boleh mencari rantai alat yang betul semasa menyusun. Mengambil sistem macOS sebagai contoh, masukkan arahan berikut:

export GOROOT=/usr/local/go
export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

di mana, GOROOT mewakili laluan pemasangan Golang, GOOS mewakili sistem pengendalian sasaran, GOARCH mewakili seni bina CPU sasaran, dan CGO_ENABLED mewakili sama ada untuk mendayakannya, GOBIN mewakili laluan fail boleh laku yang disusun dan PATH ialah pembolehubah sistem yang digunakan untuk menetapkan pembolehubah persekitaran dalam sistem Unix/Linux.

Seterusnya, tulis atau muat turun kod program Golang untuk dikompil silang dan simpannya sebagai fail .go. Sebagai contoh, kod berikut melaksanakan program Hello World yang mudah menggunakan Golang:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Kemudian, gunakan arahan berikut untuk menyusun kod ke dalam fail boleh laku:

$ go build -v -o hello

Di mana, -v parameter mewakili output Untuk butiran, parameter -o menentukan nama fail boleh laku yang disusun. Dalam arahan di atas, hello menentukan nama fail boleh laku yang dijana, yang juga boleh digantikan dengan nama lain.

Selepas penyusunan selesai, kami mendapat fail boleh laku yang dijalankan pada platform semasa. Seterusnya, anda perlu menggunakan rantai alat kompilasi silang untuk menjana binari yang boleh berjalan pada platform sasaran. Gunakan arahan berikut untuk menyusun silang:

$ GOOS=linux GOARCH=arm GOARM=5 go build -v -o hello-arm5

Dalam arahan di atas, GOOS menentukan sistem pengendalian sasaran sebagai Linux, GOARCH menentukan seni bina CPU sasaran sebagai ARM dan GOARM menentukan ARM versi, di sini dinyatakan sebagai 5. Baris arahan ini akan menjana fail binari bernama hello-arm5 dalam direktori semasa.

Selain Linux dan ARM, Golang juga menyokong sistem pengendalian dan seni bina lain, seperti macOS, Windows, FreeBSD, OpenBSD, NetBSD, DragonFlyBSD, Solaris, AIX dan seni bina CPU lain, seperti 386, amd64 , lengan, mips, mipsle, mips64, mips64le, ppc64, ppc64le, s390x.

Pertimbangan kompilasi silang

Apabila menyusun silang, anda perlu memberi perhatian kepada perkara berikut:

  • Pilih rantai alat yang betul. Berhati-hati untuk memilih versi rantai alat yang sepadan dengan platform sasaran, jika tidak, penyusunan akan gagal.
  • Kod khusus sistem pengendalian tidak boleh digunakan dalam kod. Contohnya, apabila anda ingin menggunakan fungsi pustaka syscall, anda perlu menggunakan antara muka panggilan sistem tertentu seperti windows, linux dan darwin untuk sistem pengendalian sasaran.
  • Urus kebergantungan. Dalam Go, alatan pengurusan pakej yang biasa digunakan termasuk mod go, godep, dep, dll. Apabila menggunakannya, anda perlu memilih alat yang sesuai mengikut situasi kompilasi silang dan mengunci versi kebergantungan untuk memastikan kompilasi dan operasi yang betul pada platform sasaran.
  • Nyatakan pembolehubah persekitaran pada masa penyusunan. GOOS dan GOARCH mentakrifkan seni bina Golang Untuk kompilasi silang, pembolehubah persekitaran sasaran yang berbeza perlu ditetapkan dan CGO tidak boleh digunakan semasa penyusunan.

Ringkasan

Artikel ini memperkenalkan proses kompilasi silang Golang, termasuk muat turun dan pemasangan rantai alat, tetapan pembolehubah persekitaran, penyusunan kod dan langkah berjaga-jaga kompilasi silang . Untuk pembangunan aplikasi merentas platform, kompilasi silang adalah kemahiran yang diperlukan. Saya harap artikel ini akan membantu anda.

Atas ialah kandungan terperinci proses penyusunan silang golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:vscode golang pergi ke takrifanArtikel seterusnya:vscode golang pergi ke takrifan