CGO
通過CGo,Go可以使用C語言庫。Golang中,需要寫一行單獨的導(dǎo)入語句:
然后在這一行前面以注釋的形式添加C語言代碼,并注明預(yù)處理器和鏈接器參數(shù):
需要注意的是C語言的數(shù)據(jù)結(jié)構(gòu)在Go中是不可見的,反之亦然,需要顯式轉(zhuǎn)換。此后即可使用C語言調(diào)用。下面是一個OQS的包裝代碼,作為參考:
注意:
C語言的void *對應(yīng)的就是unsafe的uintptr。
不能使用sizeof。
常量也位于C包下,但預(yù)編譯指令無法使用。
標簽: