Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengintegrasikan Fungsi Go ke dalam Projek C Sedia Ada menggunakan GCCGO?
Menggunakan Go dalam Projek C Sedia Ada
Anda berhasrat untuk menyepadukan fungsi Go ke dalam program C dengan mencipta fail objek daripada sumber Go fail dan masukkannya dalam projek C sedia ada. Walau bagaimanapun, anda menghadapi ralat pemautan walaupun menggunakan GCCGO.
Untuk menangani isu ini, seperti yang dicadangkan oleh penyelesaiannya, pertimbangkan pendekatan berikut:
Untuk Go 1.5 dan lebih baru, gunakan bendera -buildmode untuk cipta perpustakaan serasi C:
Pustaka statik:
go build -buildmode c-archive -o mygopkg.a
Pustaka dikongsi:
go build -buildmode c-shared -o mygopkg.so
Setelah anda mempunyai perpustakaan serasi C, anda boleh menyepadukannya ke dalam projek C anda:
Statik perpustakaan:
gcc -o main _main.c mygopkg.a -lpthread
Pustaka kongsi:
export LD_RUN_PATH=$(pwd) gcc -o main _main.c mygopkg.so -lpthread
Perhatikan bahawa LD_RUN_PATH memastikan bahawa penghubung mencari perpustakaan kongsi dalam direktori semasa.
Menggunakan pendekatan ini, anda boleh mencipta perpustakaan serasi C dalam Go dan menyepadukan dengan lancar ke dalam projek C sedia ada, membolehkan anda memanggil fungsi Go dari dalam program C anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Fungsi Go ke dalam Projek C Sedia Ada menggunakan GCCGO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!