cgo 的时候遇到一个奇怪的东西, c 的 struct 里面字段都正常, 但是 cgo 仅仅拿到第一个字段,后面直接下划线给屏蔽了,这是为什么,看了下也没什么关键字啊
c struct:
typedef struct _NF_IP_PACKET_OPTIONS
{
unsigned short ip_family;
unsigned int ipHeaderSize;
unsigned long compartmentId;
unsigned long interfaceIndex;
unsigned long subInterfaceIndex;
unsigned long flags;
} NF_IP_PACKET_OPTIONS, *PNF_IP_PACKET_OPTIONS;
test:
aaaa := &C.struct__NF_IP_PACKET_OPTIONS{}
fmt.Printf("aaaa %+v", aaaa)
output:
aaaa &{ip_family:0 _:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]}
1
jitongxi OP 暂时找到问题了,mingw gcc 编译器的缓存好像,但是不知道在哪里清
|
2
rekulas 2023-05-19 23:37:11 +08:00
|