diff --git a/ch2-cgo/ch2-01-hello-cgo.md b/ch2-cgo/ch2-01-hello-cgo.md index 7463ce4..9154a7b 100644 --- a/ch2-cgo/ch2-01-hello-cgo.md +++ b/ch2-cgo/ch2-01-hello-cgo.md @@ -4,9 +4,11 @@ ## 2.1.1 最简CGO程序 -真实的CGO程序一般都比较复杂。不过我们可以反其道而行之,一个最简的CGO程序该是什么样的呢?要构造一个最简CGO程序,首先要忽视一些复杂的CGO特性,同时要展示CGO程序和纯Go程序的差别来。下面是我们构建的最简CGO程序: +真实的CGO程序一般都比较复杂。不过我们可以由浅入深,一个最简的CGO程序该是什么样的呢?要构造一个最简CGO程序,首先要忽视一些复杂的CGO特性,同时要展示CGO程序和纯Go程序的差别来。下面是我们构建的最简CGO程序: ```go +package main + import "C" func main() { @@ -35,7 +37,7 @@ func main() { 相比“Hello, World 的革命”一节中的CGO程序最大的不同是:我们没有在程序退出前释放`C.CString`创建的C语言字符串;还有我们改用`puts`函数直接向标准输出打印,之前是采用`fputs`向标准输出打印。 -没有释放使用`C.CString`创建的C语言字符串会导致内存泄露。但是对于这个小程序来说,这样是没有问题的,因为程序退出后操作系统会自动回收程序的所有资源。 +没有释放使用`C.CString`创建的C语言字符串会导致内存泄漏。但是对于这个小程序来说,这样是没有问题的,因为程序退出后操作系统会自动回收程序的所有资源。 ## 2.1.3 使用自己的C函数