首頁 >後端開發 >Golang >golang 怎麼呼叫c程式碼

golang 怎麼呼叫c程式碼

(*-*)浩
(*-*)浩原創
2019-12-31 13:14:313116瀏覽

golang 怎麼呼叫c程式碼

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn