雖然CGO
屬於不太常用的技術,但是偶爾在一些情境中還是會用到的,本文搜集了一些CGO
的文章, 方便大家學習和參考。
官方文章
- cmd/cgo: cgo命令列工具
- wiki/cgo: 簡介
- C? Go? Cgo!: 古老的文章
- WindowsDLLs: 不是CGO
- 通過cgo調用C代碼: Go語言聖經中的介紹
相關文章
- cgo is not Go: Dave Cheney的文章,CGO不好的地方,中文
- Cgo: When and (Usually) When Not to Use it:決斷
- The Cost and Complexity of Cgo: 實踐出真知
- CGo's Go string functions explained: CGO的字串
- Getting C-compatible structs in Go with and for cgo: C相容的 struct
- Some notes on my experience using Go's cgo system: CGO使用經驗
- Calling Go functions from C: 在C語言中調用Go函數以及相反
- Calling Go Functions from Other Languages:從其它語言調用Go函數
- rustgo: calling Rust from Go with near-zero overhead:使用的不是CGO,而是FFI
- Adventures with cgo: Part 1- The Pointering: 探索
- Go & cgo: integrating existing C code with Go: 乾貨PPT
- 如何在windows上使用cgo: 中文,windows上使用CGO
- 在 Go 語言中調用 C 代碼: 高輝的兩篇介紹, 手把手教
- 在 Go 語言中調用 C++ 代碼:
- Golang使用pkg-config自動擷取標頭檔和連結庫的方法: 使用pkg-config簡化CFLAGS和LDFLAGS設定
- Avoiding the LD_LIBRARY_PATH for Shared Libs in Go (cgo) Applications: 設定CGO_LDFLAGS和CGO_CFLAGS環境變數
- Handling C++ exceptions in Go: 處理C++的異常
- Extending Python 3 in Go:使用Go擴充Python
- Call Go function from C function: c調用go
- Go: Calling pointer functions in C with CGO: 調用C函數指標
- CGo中傳遞多維陣列給C函數: 多維陣列處理
- cgo by example: cgo例子
- golang cgo: 總結
- SWIG and Go: C++
- Call Go functions from C: C中調用Go函數
- CGO編程:柴樹杉 《Go語言進階編程》中的CGO一章
協助工具輔助
- c-for-go: cgo產生器
- ffi: 不使用CGO的另一種方式,ffi
- cgoutil: 字串數組的便利方法
- cgo.wchar: wchar_t的便利方法
- chai2010/cgo: 柴樹杉實現的輔助方法
CGO應用
- go-interlang: go與幾種語言相互調用的例子
- qt.go: QT binding
- raylib-go:光線追蹤庫
- go-opencv:
- hashicorp/raft-mdb:
- go-sqlite3:
- gorocksdb:
- w32: win32 API封裝
- magick: 代碼量少,易學習
- ontts:科大訊飛語音linux線上語音合成後台服務