这是一个创建于 1521 天前的主题,其中的信息可能已经有所发展或是发生改变。
要返回的是一个 socket 连接结构体 Conn,返回的是*Conn,用其他语言去读写关闭连接。
我看一般的做法是写个 C 的结构体,然后转化成(*C.struct_xxx)unsafe.pointer(*Conn)去访问。但是 Conn
的结构体太复杂了,用 C 语言感觉重写不了。所以想问下一般性的方法是怎么处理的呢?
3 条回复 • 2021-01-12 17:37:38 +08:00
 |
|
1
ysc3839 2021-01-12 16:04:04 +08:00 via Android
其他语言不需要关心结构体如何,只需要拿到指针,实际操作时传给 go 函数即可。
|
 |
|
2
joesonw 2021-01-12 16:06:14 +08:00
一般是做方法映射, 不要 Conn.Close() 而是 closeConn(Conn) 这样只用传递指针
|
 |
|
3
useben 2021-01-12 17:37:38 +08:00
楼上的思想是对的, CGO 交互都是走指针
|