我试图通过从resolv.h的res struct读取我的DNS服务器地址。根据man 3解析器,设置代码应该是。
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
extern struct state _res;
然后我就把我需要的东西读出来。我的问题是试图编译这个
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.
叮当作响。
我做错什么了?
最佳答案
您不应该声明_res
您自己-resolv.h
包含正确的声明(不管手册页意味着什么)。
关于c - 使用resolv.h,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11371965/