我正在运行一个使用 clang 编译的应用程序,存储在 Windows 8 上,在 OSX 上访问。当 getaddrinfo() 被赋予任何其他输入时,应用程序运行良好,但如果指定 ::1 以外的主机名并且服务名称指定为 NULL,则会崩溃。谁能帮我这个?
编辑:
源代码如下:
addrinfo hints;
addrinfo *results;
int error;
tTestCaseInputs cases[] = {
{"::1", NULL},
{"lanhostname", NULL},
{"facebook.com", NULL},
{"ipv6.google.com", NULL},
{NULL, NULL},
};
tTestAddrInfo0 values[] = {
{AI_PASSIVE | AI_NUMERICSERV, AF_INET, SOCK_STREAM, IPPROTO_TCP},
};
for (long i = 0; i < ARRAYSIZE(values); ++ i) {
// set hints
for (long j = 0; j < ARRAYSIZE(cases); ++ j) {
tTestCaseInputs * testcase = &cases[j];
if((error = getaddrinfo(testcase->uHost, testcase->uServ, &hints, &results)) == 0)
{
// Print and free results
} else {
// Print error
}
}
}
源代码在windows上运行良好