cgo 使得在 Golang 中可以使用 C 代碼。
為了有一個較為直觀的了解,我們來看一個簡單的例子,創建文件 main.go:
package main
/*
#include <stdio.h>
void sayHi() {
printf("Hi");
}
*/
import "C"
func main() {
C.sayHi()
}執行程序:
go run main.go
程序執行并輸出 hi(更多的范例可以見 $GOROOT/misc/cgo)。
Windows 下的準備工作
如果想要在 Windows 上使用 cgo,那么需要安裝 gcc 編譯器,這里我使用 mingw-w64。
設置編譯和鏈接標志
我們使用 import “C” 導入的是一個偽包(pseudo-package),我們通過其來使用 C 代碼。在 import “C” 之前,緊跟著 import “C” 的注釋可以包括:
編譯器和鏈接器標志 C 代碼
我們可以通過 #cgo 指令來設置編譯器和鏈接器標志,例如:
// #cgo CFLAGS: -DPNG_DEBUG=1 // #cgo amd64 386 CFLAGS: -DX86=1 // #cgo LDFLAGS: -lpng // #include <png.h> import "C"
以上就是golang 怎么調用c代碼的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。