C对Golang的引用无法识别typedef void *?

问题描述 投票:1回答:1

c.h

typedef void*       MVar;

C_FUNC(
    MVar*     myvar   //[out], return value
)

test.go

var cvar unsafe.Pointer

_ = C.C_FUNC(&cvar)

[当我运行test.go时,它告诉我

cannot use _cgo5 (type *unsafe.Pointer) as type *_Ctype_MVar in argument to _Cfunc_C_FUNC

在本文档中https://golang.org/cmd/cgo/#hdr-Go_references_to_C

它说“ C类型void *由Go的unsafe.Pointer表示。”

有什么问题吗?

go cgo
1个回答
0
投票

有什么问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.