C 决议h的使用

C 决议h的使用,c,dns,resolver,C,Dns,Resolver,我正试图通过从resolv.h的结构中读取DNS服务器地址来找到它。根据man 3解析器,设置代码应为 #include <netinet/in.h> #include <arpa/nameser.h> #include <resolv.h> extern struct state _res; 叮当作响 我做错了什么?你不应该声明\u res你自己-resolv.h包括正确的声明(不管手册页暗示了什么)。你不应该声明\u res你自己-resolv.h包括

我正试图通过从resolv.h的结构中读取DNS服务器地址来找到它。根据man 3解析器,设置代码应为

#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>

extern struct state _res;
叮当作响


我做错了什么?

你不应该声明
\u res
你自己-
resolv.h
包括正确的声明(不管手册页暗示了什么)。

你不应该声明
\u res
你自己-
resolv.h
包括正确的声明(不管手册页暗示了什么)。

包括
#包括
#包括
int main(){
//先叫这个
res_init();
//使用此列表执行操作它包含dns服务器列表
_res.nsaddr_列表[0];
}
#包括
#包括
#包括
int main(){
//先叫这个
res_init();
//使用此列表执行操作它包含dns服务器列表
_res.nsaddr_列表[0];
}
resolver.c:5:21: error: conflicting types for '__res_state'
extern struct state _res;
                    ^
/usr/include/resolv.h:251:16: note: expanded from macro '_res'
#define _res (*__res_state())
               ^
/usr/include/resolv.h:249:28: note: previous declaration is here
extern struct __res_state *__res_state(void) __attribute__ ((__const__));
                           ^
1 error generated.
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>


int main() {

    // call this first
    res_init();

    // do something with this list it contains list of dns servers
    _res.nsaddr_list[0];

}