mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
cgo: 更新完成状态
This commit is contained in:
parent
90d0693e73
commit
82b23bedd3
10
SUMMARY.md
10
SUMMARY.md
@ -11,16 +11,16 @@
|
|||||||
* [1.8. 配置开发环境](ch1-basic/ch1-08-ide.md)
|
* [1.8. 配置开发环境](ch1-basic/ch1-08-ide.md)
|
||||||
* [第二章 CGO编程](ch2-cgo/readme.md)
|
* [第二章 CGO编程](ch2-cgo/readme.md)
|
||||||
* [2.1. 快速入门](ch2-cgo/ch2-01-hello-cgo.md)
|
* [2.1. 快速入门](ch2-cgo/ch2-01-hello-cgo.md)
|
||||||
* [2.2. CGO编程基础](ch2-cgo/ch2-02-basic.md)
|
* [2.2. CGO基础](ch2-cgo/ch2-02-basic.md)
|
||||||
* [2.3. 类型转换](ch2-cgo/ch2-03-cgo-types.md)
|
* [2.3. 类型转换](ch2-cgo/ch2-03-cgo-types.md)
|
||||||
* [2.4. 函数调用](ch2-cgo/ch2-04-func.md)
|
* [2.4. 函数调用(TODO)](ch2-cgo/ch2-04-func.md)
|
||||||
* [2.5. 内部机制](ch2-cgo/ch2-05-internal.md)
|
* [2.5. 内部机制(TODO)](ch2-cgo/ch2-05-internal.md)
|
||||||
* [2.6. 实战: 封装qsort](ch2-cgo/ch2-06-qsort.md)
|
* [2.6. 实战: 封装qsort(TODO)](ch2-cgo/ch2-06-qsort.md)
|
||||||
* [2.7. CGO内存模型](ch2-cgo/ch2-07-memory.md)
|
* [2.7. CGO内存模型](ch2-cgo/ch2-07-memory.md)
|
||||||
* [2.8. C++类包装](ch2-cgo/ch2-08-class.md)
|
* [2.8. C++类包装](ch2-cgo/ch2-08-class.md)
|
||||||
* [2.9. 静态库和动态库](ch2-cgo/ch2-09-static-shared-lib.md)
|
* [2.9. 静态库和动态库](ch2-cgo/ch2-09-static-shared-lib.md)
|
||||||
* [2.10. Go实现Python模块](ch2-cgo/ch2-10-py-module.md)
|
* [2.10. Go实现Python模块](ch2-cgo/ch2-10-py-module.md)
|
||||||
* [2.11. 编译和链接参数](ch2-cgo/ch2-11-link.md)
|
* [2.11. 编译和链接参数(TODO)](ch2-cgo/ch2-11-link.md)
|
||||||
* [2.12. 补充说明](ch2-cgo/ch2-12-faq.md)
|
* [2.12. 补充说明](ch2-cgo/ch2-12-faq.md)
|
||||||
* [第三章 汇编语言(TODO)](ch3-asm/readme.md)
|
* [第三章 汇编语言(TODO)](ch3-asm/readme.md)
|
||||||
* [3.1. 汇编基础(TODO)](ch3-asm/ch3-01-basic.md)
|
* [3.1. 汇编基础(TODO)](ch3-asm/ch3-01-basic.md)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# 2.2. CGO编程基础
|
# 2.2. CGO基础
|
||||||
|
|
||||||
Go是一门以实用为主要目的的编程语言,我们可以通过cgo来直接调用C语言代码,也可以在C语言代码中直接调用Go函数。要使用CGO特性,需要安装C/C++构建工具链,在macOS和Linux下是要安装和GCC,在windows下是需要安装MinGW工具。同时需要保证环境变量`CGO_ENABLED`被设置为1,这表示CGO是被启用的状态。在本地构建时`CGO_ENABLED`默认是启用的,当交叉构建时CGO默认是禁止的。比如要交叉构建ARM环境运行的Go程序,需要手工设置好C/C++交叉构建的工具链,同时开启`CGO_ENABLED`环境变量。
|
Go是一门以实用为主要目的的编程语言,我们可以通过cgo来直接调用C语言代码,也可以在C语言代码中直接调用Go函数。要使用CGO特性,需要安装C/C++构建工具链,在macOS和Linux下是要安装和GCC,在windows下是需要安装MinGW工具。同时需要保证环境变量`CGO_ENABLED`被设置为1,这表示CGO是被启用的状态。在本地构建时`CGO_ENABLED`默认是启用的,当交叉构建时CGO默认是禁止的。比如要交叉构建ARM环境运行的Go程序,需要手工设置好C/C++交叉构建的工具链,同时开启`CGO_ENABLED`环境变量。
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user