Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memautkan Perpustakaan C secara Statik dalam Go Menggunakan cgo?
Cara Memautkan Perpustakaan C secara Statik dalam Go Menggunakan Cgo
Terdapat banyak perbincangan dalam komuniti Go tentang cara memautkan C secara statik perpustakaan dalam Go menggunakan Cgo. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa proses ini berbeza daripada sintaks yang digunakan dalam dokumentasi Cgo.
Untuk memautkan perpustakaan C secara statik, ikut langkah berikut:
Langkah 1: Ubah suai Arahan Cgo
Dalam kod Go anda, masukkan Cgo berikut arahan:
// #cgo CFLAGS: -I/path/to/c/include // #cgo LDFLAGS: /path/to/c/build/libgb.a
Ganti "/path/to/c/include" dengan laluan ke fail pengepala C dan "/path/to/c/build/libgb.a" dengan laluan ke anda perpustakaan C terpaut secara statik.
Langkah 2: Susun dan Pautkan
Susun dan pautkan atur cara Go anda menggunakan arahan berikut:
CGO_ENABLED=0 go build -a -installsuffix cgo -ldflags '-s'
Pastikan bahawa "-s" disertakan dalam hujah "ldflags", kerana ini menanggalkan simbol daripada binari yang dipautkan.
Jika anda menghadapi ralat seperti "tidak ditakrifkan", pastikan simbol itu wujud dalam pustaka C anda.
Nota: Jika anda menggunakan Go 1.0, pemautan statik tidak disokong. Kemas kini kepada Go 1.1 atau lebih baru agar fungsi ini berfungsi dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Memautkan Perpustakaan C secara Statik dalam Go Menggunakan cgo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!