我无法调用具有特定签名的DLL库.这是在xamarin平台上并在iOS上运行.我想获得一个DNS服务器列表.我可以毫无问题地调用其他函数,但我真正需要的函数不起作用.我确信这是因为我的结构不正确.我认为问题是"联盟"类型.我只是不知道我的结构应该是什么样的安抚该参数.以下是相关的c ++类型:
1:DLL的单一性
`int res_getservers __P((res_state, union res_sockaddr_union * , int));`
Run Code Online (Sandbox Code Playgroud)
2:c ++结构
union res_sockaddr_union {
struct sockaddr_in sin;
#ifdef IN6ADDR_ANY_INIT
struct sockaddr_in6 sin6;
#endif
#ifdef ISC_ALIGN64
int64_t __align64; /* 64bit alignment */
#else
int32_t __align32; /* 32bit alignment */
#endif
char __space[128]; /* max size */
};
struct sockaddr_in6 {
__uint8_t sin6_len; /* length of this struct(sa_family_t) */
sa_family_t sin6_family; /* AF_INET6 (sa_family_t) */
in_port_t sin6_port; /* Transport layer port # (in_port_t) */
__uint32_t sin6_flowinfo; /* IP6 flow information …Run Code Online (Sandbox Code Playgroud)