5分钟
2.10.5 多个非main包中导出C函数
官方文档说明导出的Go函数要放main包,但是真实情况是其它包的Go导出函数也是有效的。 因为导出后的Go函数就可以当作C函数使用,所以必须有效。但是不同包导出的Go函数将在同一个全局的名字空间,因此需要小心避免重名的问题。 如果是从不同的包导出Go函数到C语言空间,那么cgo自动生成的_cgo_export.h
文件将无法包含全部到处的函数声明, 我们必须通过手写头文件的方式什么导出的全部函数。
官方文档说明导出的Go函数要放main包,但是真实情况是其它包的Go导出函数也是有效的。 因为导出后的Go函数就可以当作C函数使用,所以必须有效。但是不同包导出的Go函数将在同一个全局的名字空间,因此需要小心避免重名的问题。 如果是从不同的包导出Go函数到C语言空间,那么cgo自动生成的_cgo_export.h
文件将无法包含全部到处的函数声明, 我们必须通过手写头文件的方式什么导出的全部函数。
Copyright © 2013-2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有
学员评价