这是这个问题的后续。我在那里做了一个可能不正确的假设,这就是我明确询问它的原因。因为我忘了问这是否真的可能,所以我已经提交了问题 #8114。
使用 cgo,可以让 Go 代码对 C 类型进行操作,如下所示:
package foo
//#include <sys/stat.h>
import "C"
func fileSizeFromStat(stat *C.struct_stat) int64 {
return int64(stat.st_size)
}
反过来可能吗?即编写对 go 类型进行操作的 C 函数?上面链接的问题概述了这一点的具体要点;我想编组无法从 Go 代码访问的 C 结构,要么是因为它们使用联合或位域,要么是因为它们的对齐方式使它们与 Go 代码不兼容。
相关分类