Chinaunix
标题:
HP: 函数res_init()在哪里定义的?
[打印本页]
作者:
breadso
时间:
2003-07-08 14:55
标题:
HP: 函数res_init()在哪里定义的?
环境:HP
uname
HP-UX B.11.00 U 9000/800
man 中说res_init在resolv.h,可是我却没有找到?
用cc编译,可以顺利通过,
但是acc却不能找到res_init的定义。
那位仁兄知道为什么?
作者:
mushuang
时间:
2003-07-08 15:16
标题:
HP: 函数res_init()在哪里定义的?
看这两个的区别
可能查找INCLUDE路径不一样
使用grep查找它的定义就知道了
作者:
breadso
时间:
2003-07-08 15:30
标题:
HP: 函数res_init()在哪里定义的?
你实说编译器的,搜索路径不同?
能不能说详细些,拜托了。
作者:
gadfly
时间:
2003-07-08 15:35
标题:
HP: 函数res_init()在哪里定义的?
不同的编译器用的缺省头文件路径不一定一样。
你用gcc -E src.c方式可以看到包括的实际的头文件
作者:
breadso
时间:
2003-07-08 20:30
标题:
HP: 函数res_init()在哪里定义的?
我最早提过的:
man 中说res_init()在resolv.h,但是在这个文件中根本,没有这个函数的定义。!!?
所以觉得奇怪:
用cc. 在.c中可以编译执行。
用aCC, 在.C中却不能编译?
另外,我的HP没有gcc.
不过这个选项还可以用,只是输出的结果太多了,看不懂。。。
作者:
mushuang
时间:
2003-07-08 20:52
标题:
HP: 函数res_init()在哪里定义的?
.C 那难道你的c++与c头文件查找目录不一样吗
作者:
breadso
时间:
2003-07-08 21:04
标题:
HP: 函数res_init()在哪里定义的?
是呀!
我也就觉得纳闷,很奇怪,SunOS上就没有这个怪问题,?
真郁闷〉。不信可以试试:
/*file name : test.c*/
#include <resolv.h>;
#include <stdio.h>;
extern struct __res_state _res;
int main()
{
res_init();
printf("domain name P:%s\n", _res.defdname);
}
cc test.c -o test
一切OK!
但是:
/*file name : test.C/
#include <resolv.h>;
#include <stdio.h>;
extern struct __res_state _res;
int main()
{
res_init();
printf("domain name P:%s\n", _res.defdname);
}
aCC test.C -o test
就会出现以下信息:
Error 328: "test.C", line # Function 'res_init' has not been defined yet; cannot call.
res_init();
谁知道为什么??
作者:
gadfly
时间:
2003-07-08 23:11
标题:
HP: 函数res_init()在哪里定义的?
呵呵,你可以用
acc -E ...|grep resolv
cc -E ...|grep resolv
方式查找究竟包含的是哪个头文件亚。
并不需要你一行行的去查看
作者:
蓝色键盘
时间:
2003-07-10 13:46
标题:
HP: 函数res_init()在哪里定义的?
呵呵,gadfly兄,是不是觉得回复这样的帖子很累!
碰到这种情况,要么不说,要么就说一次。
作者:
fieryfox
时间:
2003-07-10 14:00
标题:
HP: 函数res_init()在哪里定义的?
<arpa/nameser.h>;
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2