荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjksam (每天12圈半...), 信区: Linux
标 题: [合集]<<UNIX环境高级编程>>可以用在linux上吗?
发信站: 荔园晨风BBS站 (Thu Nov 14 23:56:22 2002), 站内信件
cycker (已识愁滋味) 于Fri Nov 8 16:30:18 2002提到:
是(美)W.Richard Stevens 著,尤晋元 等译的那一本,
第一个程序就不能编译运行(在rh7.3上)
/*实现主要的ls功能*/
#include <sys/types.h>
#include <dirent.h>
#define NULL 0
int
main(int argc,char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (argc!=2)
err_quit("a single argument (the directory name) is required");
if( (dp=opendir(argv[1])) == NULL)
err_sys("cann't open %s",argv[1]);
while((dirp=readdir(dp))!=NULL)
printf("%s\n",dirp->d_name);
closedir(dp);
exit(0);
}
错误是:
[root@cycker unixpro]# cc -o ls myls.c
/tmp/ccB6dUVQ.o: In function `main':
/tmp/ccB6dUVQ.o(.text+0x15): undefined reference to `err_quit'
/tmp/ccB6dUVQ.o(.text+0x4b): undefined reference to `err_sys'
collect2: ld returned 1 exit status
aiguozhe@bbs.pku.edu.cn (爱国者) 于Fri Nov 8 16:37:41 2002)
提到:
转信站: SZU!news.tiaozhan.com!news.happynet.org!PKU
~c?
cycker (已识愁滋味) 于Fri Nov 8 16:40:48 2002提到:
对不起,是err_sys,sys_quit两个函数没有定义,
我少加了一个书中自定义的头文件,源码在书上,要自己抄,刚才没看到,
dirent.h有这个文件.
~c?
OutOfBand.bbs@bbs.DormForce.net (带外数据) 于Fri Nov 8 16:45:45 2002)
提到:
转信站: SZU!news.tiaozhan.com!DormForce
大部分都可以的,你的这个编译错误是因为没有使用作者在书中自定义的头文件
jjksam (press any key to continue...) 于Fri Nov 8 17:15:10 2002提到:
+ #include "ourhdr.h"
err_quit是他自己写的函数,不是gcc的,看附录就知道了。作者在前面也说明了。
其中一些程序只用到一部分的自己定义的函数,自己改掉就可以运行。
书上的一些例子的源码可以去ftp.uu.net/published/books/下载,或者
去我的ftp也行, 在/Linux/programming/APUE (注:只供校内下载).
jjksam (press any key to continue...) 于Fri Nov 8 17:15:55 2002提到:
是dirent.h, 他只是没定义一些函数而已
cycker (已识愁滋味) 于Fri Nov 8 17:30:57 2002提到:
哇,这个你也记得?
那么说你也看过,它上面的概念用在linux上也适合吗?
jjksam (press any key to continue...) 于Fri Nov 8 18:11:06 2002提到:
可以用的,有很多相通的地方,在Linux下面编译的时候需要用svr4的lib。
cycker (已识愁滋味) 于Fri Nov 8 18:14:45 2002提到:
svr4的lib要自己下载还是它自带有?
你知道哪 里有吗
jjksam (press any key to continue...) 于Fri Nov 8 18:16:35 2002提到:
看我回你的文章,里面有说,我回的第二篇
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店