cgo 使得在 Golang 中可以使用 C 程式碼。
Hello World (建議學習:go)
#為了有較為直覺的了解,我們來看一個為直覺的了解,我們來看一個簡單的例子,建立檔案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程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!