虽然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在线语音合成后台服务