0

我正在运行一个使用 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上运行良好

4

0 回答 0