01_Cgo-結構介紹

package main

/*
#cgo CFLAGS: -I/user/local/include
#cgo LDFLAGS: -L/user/local/lib -l庫
// 定義/調用頭文件

 //定義C函數
 int test_printf(char a)
 {
	printf("%c\r\n"m a);
	return 0;
 }
*/
import "C"

import "fmt"

func main() {
	var c C.char = 'c'
	retc := C.test_printf(c)
	//這裏ret 是C.int 格式,參考轉換圖則爲go 對應着 int32
	retgo = int32(ret) //返回結果強化

	fmt.Printf("%T", c)

}


總結:
1、import "C" 是啓用Cgo,以及cgo配置,頭文件,C函數
2、需要調用的C語言的內容使用/**/註釋起來,放在import "C"之前
3、其中有兩個#cgo命令,分別是編譯和鏈接參數
    #cgo CFLAGS: -I/user/local/include //庫對應頭文件所在的目錄加入頭文件檢索路徑
    #cgo LDFLAGS: -L/user/local/lib -l庫 //庫所在目錄加爲鏈接庫檢索路徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章