1.安裝并配置交叉編譯工具鏈
網(wǎng)上有詳細教程
創(chuàng)新互聯(lián)服務緊隨時代發(fā)展步伐,進行技術革新和技術進步,經(jīng)過十年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務人員,并且完全形成了一套成熟的業(yè)務流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站設計、網(wǎng)站制作、建設、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
2.go env環(huán)境配置
go env -w CGO_ENABLED=1
go env -w GOOS=linux
go env -w GOARCH=arm
go env -w CC=...-gcc
go env -w CXX=...-gcc
CC和CXX配置成自己的編譯工具的gcc和g++
也可以不配置,在go build前作為參數(shù)即可,例如:
CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=/.../arm-linux-gnueabihf-gcc CXX=/.../arm-linux-gnueabihf-g++ go build -o test test.go;*
3.將.c編譯成共享庫.so
/.../arm-linux-gnueabihf-gcc -c -fPIC -o mylib.o myc.c;/.../arm-linux-gnueabihf-gcc -shared -o lib485.so mylib.o;rm mylib.o
package test
/*
#cgo CFLAGS: -I/... //此路徑為c頭文件所在路徑
#cgo LDFLAGS: -L/.../lib -lmyc //此路徑需加入到/etc/ld.so.conf文件末尾
#include "myc.h"
*/
import "C"
注意:
1、所處位置一定要是文件開頭package下面,注釋和impo "C"中間不可空行
2、適用運行環(huán)境是arm架構的硬件平臺,編譯成可執(zhí)行程序之后需要把依賴的動態(tài)庫燒進arm板子文件系統(tǒng)中/lib下
本文標題:【CGO】C源碼編譯為動態(tài)庫供go程序調(diào)用(linux環(huán)境、arm架構運行平臺)
當前地址:http://chinadenli.net/article32/dsoispc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、外貿(mào)網(wǎng)站建設、ChatGPT、自適應網(wǎng)站、靜態(tài)網(wǎng)站、服務器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)