2 回答

TA貢獻1836條經驗 獲得超5個贊
你用的是什么版本的Go?使用 Go 1.1.2,cgo 似乎產生了預期的輸出。
我運行了go tool cgo main.go,生成的_obj/_cgo_gotypes.go文件包含以下定義:
type _Ctype_param_struct_t _Ctype_struct_param_struct_t
type _Ctype_struct___0 struct {
//line :1
c _Ctype_int
//line :1
d _Ctype_int
//line :1
}
type _Ctype_struct___1 struct {
//line :1
f _Ctype_int
//line :1
g _Ctype_int
//line :1
}
type _Ctype_struct_param_struct_t struct {
//line :1
a _Ctype_int
//line :1
b _Ctype_int
//line :1
anon _Ctype_struct___0
//line :1
e _Ctype_int
//line :1
anon2 _Ctype_struct___1
//line :1
}
當我修改你的程序以正確引用c和d嵌套在anon字段中并取消注釋其他語句時,程序編譯并運行,最終語句將結構打印為。
main._Ctype_param_struct_t{a:0, b:0, anon:main._Ctype_struct___0{c:0, d:0}, e:0, anon2:main._Ctype_struct___1{f:0, g:0}}
如果您使用的是舊版本的 Go,請嘗試升級。cgo如果您仍然遇到問題,您也可以像我一樣嘗試手動運行,看看它會生成什么。
- 2 回答
- 0 關注
- 288 瀏覽
添加回答
舉報