From 5cef6fa32bf72b82380f8e2084db8c8041633c4b Mon Sep 17 00:00:00 2001 From: lewgun Date: Mon, 11 Nov 2019 17:53:00 +0800 Subject: [PATCH] fix typo --- ch2-cgo/ch2-04-func.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch2-cgo/ch2-04-func.md b/ch2-cgo/ch2-04-func.md index a941045..e5b9c38 100644 --- a/ch2-cgo/ch2-04-func.md +++ b/ch2-cgo/ch2-04-func.md @@ -177,7 +177,7 @@ func add(a, b C.int) C.int { add函数名以小写字母开头,对于Go语言来说是包内的私有函数。但是从C语言角度来看,导出的add函数是一个可全局访问的C语言函数。如果在两个不同的Go语言包内,都存在一个同名的要导出为C语言函数的add函数,那么在最终的链接阶段将会出现符号重名的问题。 -CGO生成的 `_cgo_export.h` 文件回包含导出后的C语言函数的声明。我们可以在纯C源文件中包含 `_cgo_export.h` 文件来引用导出的add函数。如果希望在当前的CGO文件中马上使用导出的C语言add函数,则无法引用 `_cgo_export.h` 文件。因为`_cgo_export.h` 文件的生成需要依赖当前文件可以正常构建,而如果当前文件内部循环依赖还未生成的`_cgo_export.h` 文件将会导致cgo命令错误。 +CGO生成的 `_cgo_export.h` 文件会包含导出后的C语言函数的声明。我们可以在纯C源文件中包含 `_cgo_export.h` 文件来引用导出的add函数。如果希望在当前的CGO文件中马上使用导出的C语言add函数,则无法引用 `_cgo_export.h` 文件。因为`_cgo_export.h` 文件的生成需要依赖当前文件可以正常构建,而如果当前文件内部循环依赖还未生成的`_cgo_export.h` 文件将会导致cgo命令错误。 ```c #include "_cgo_export.h"