LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 816|回复: 3

关于《AdvancedProgrammingintheUNIXEnvironment》的例程

[复制链接]
发表于 2004-5-12 12:34:10 | 显示全部楼层 |阅读模式
凡是涉及错误处理的程序,在编译时虽没错误,但都有警告,导致错误处理不能进行。
[fmzw@localhost mycat]$ gcc -Wall -Wstrict-prototypes -O myls.c ../libmisc.a -o myls
/home/fmzw/ProgrammingUnix/apue-linux2/libmisc.a(strerror.o): In function `strerror':
strerror.o(.text+0x15): `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
strerror.o(.text+0xc): `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead

由于我所拥有的源码是从网上下载的,那个人把几个静态链接的模块归为一个libmisc.a以便于在LINUX下实现本书代码(但他使用的内核是2.2.×的,而我是2.4.18的),我想肯定是其中的strerror.o文件的原始的strerror.c文件里的变量定义过时或不被提倡使用了。我找了半天源码也不知该把哪个拿出来编成个update的strerror.o放到libmisc.a里去。

请高手指教,这究竟涉及到哪个文件了呢?
发表于 2004-5-12 12:59:52 | 显示全部楼层
推荐自己录入代码,在输入的过程中可以学到一些东西。
 楼主| 发表于 2004-5-12 13:09:24 | 显示全部楼层
您未明白我的意思。
我开始学习的时候确实是也想亲手录入代码的。后来发现写好的C文件根本就不能编译,不是这缺定义,就是那缺声明。我认为自己是初学者,应该首先把源码的依赖关系搞清楚啊,不然学的糊里糊涂的。所以才找来了代码下载。代码正确性没问题,是美国的著名出版社网页上的链接。

还请多帮忙。
发表于 2004-5-12 15:57:28 | 显示全部楼层
APUE的程序在unix下编译不会有问题。在linux下编译要改动一些地方。具体的可以到论坛搜索一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表