mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 00:43:26 +08:00
Reformat
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
#3.9 与其它语言进行交互
|
||||
##3.9.1 与 C 进行交互
|
||||
# 3.9 与其它语言进行交互
|
||||
|
||||
## 3.9.1 与 C 进行交互
|
||||
|
||||
工具 cgo 提供了对 FFI(外部函数接口)的支持,能够使用 Go 代码安全地调用 C 语言库,你可以访问 cgo 文档主页:[http://golang.org/cmd/cgo](http://golang.org/cmd/cgo)。cgo 会替代 Go 编译器来产生可以组合在同一个包中的 Go 和 C 代码。在实际开发中一般使用 cgo 创建单独的 C 代码包。
|
||||
|
||||
如果你想要在你的 Go 程序中使用 cgo,则必须在单独的一行使用 `import "C"` 来导入,一般来说你可能还需要 `import "unsafe"`。
|
||||
@@ -65,7 +67,8 @@ Example 3.3 [c2.go](examples/chapter_3/CandGo/c2.go)
|
||||
c1.go\
|
||||
include $(GOROOT)/src/Make.pkg
|
||||
|
||||
#3.9.2 与 C++ 进行交互
|
||||
# 3.9.2 与 C++ 进行交互
|
||||
|
||||
SWIG(简化封装器和接口生成器)支持在 Linux 系统下使用 Go 代码调用 C 或者 C++ 代码。这里有一些使用 SWIG 的注意事项:
|
||||
|
||||
- 编写需要封装的库的 SWIG 接口。
|
||||
@@ -77,7 +80,8 @@ SWIG(简化封装器和接口生成器)支持在 Linux 系统下使用 Go
|
||||
|
||||
目前使用 SWIG 存在的一个问题是它无法支持所有的 C++ 库,比如说它就无法解析 TObject.h。
|
||||
|
||||
##链接
|
||||
## 链接
|
||||
|
||||
- [目录](directory.md)
|
||||
- 上一节:[Go 性能说明](03.8.md)
|
||||
- 下一部分:[语言的核心结构与技术](04.1.md)
|
Reference in New Issue
Block a user