我有一个带有 sockaddr 指针的 C 函数。
我创建了一个 syscall.RawSockaddrInet4 对象,但我无法弄清楚如何将该对象的地址转换为 C.sockaddr 指针。
我已经尝试过这个,(*syscall.RawSockaddr)(unsafe.Pointer(&sa)),但出现错误:
无法在 _Cfunc_lib_connect 的参数中使用 (*syscall.RawSockaddr)(unsafe.Pointer(&sa)) (类型 *syscall.RawSockaddr)作为类型 *C.struct_sockaddr
任何想法将不胜感激!
int lib_connect( int sock, 枚举 lib_sock_type 类型, const struct sockaddr* srv, int srv_sz);
最佳答案
谢谢 mkopriva!
(*C.struct_sockaddr)(unsafe.Pointer(&sa))
关于go - 调用需要 sockaddr 的 C 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47243350/