apue.h头文件错误和error错误处理
参考网址http://www.linuxidc.com/Linux/2013-01/77467.htm注意点:按要求解压到/root目录tar -xzvf src.tar.gz -C /root上面网址的第4点(将/root/apue.2e/ipp/printd.h中第977行中的status替换为Status。)没有printd.h文件 是printd.c文件按要求即可编程
·
《unix环境高级编程 》第三版学习
apue.h头文件错误参考网址
http://www.linuxidc.com/Linux/2013-01/77467.htm
注意点:
- 按要求解压到/root目录
tar -xzvf src.tar.gz -C /root - 上面网址的第4点(将/root/apue.2e/ipp/printd.h中第977行中的status替换为Status。)
没有printd.h文件 是printd.c文件
按要求即可编程测试
例如下面的打印进程ID,pid.c
#include <apue.h>
int main(void)
{
printf("process id : %ld\n", (long)getpid());
exit(0);
}
gcc -o pid pid.c 编译链接,运行即可
在编译其他文件如ls1.c时出现了
ding@ding-Lenovo-G480:~/桌面/apue.2e/file$ gcc -o ls1 ls1.c
/tmp/cciUZ4Ir.o:在函数‘main’中:
ls1.c:(.text+0x20):对‘err_quit’未定义的引用
ls1.c:(.text+0x5b):对‘err_sys’未定义的引用
参考网址
http://blog.sina.com.cn/s/blog_6e27e6f10100w234.html
不同的是 要将apue.2e/lib/error.c 复制到/usr/local/include,再按要求修改
ls1.c文件内容如下:
#include "apue.h"
#include <dirent.h>
int
main(int argc, char *argv[])
{
DIR *dp;
struct dirent *dirp;
if (argc != 2)
err_quit("usage: ls directory_name");
if ((dp = opendir(argv[1])) == NULL)
err_sys("can't open %s", argv[1]);
while ((dirp = readdir(dp)) != NULL)
printf("%s\n", dirp->d_name);
closedir(dp);
exit(0);
}
更多推荐
已为社区贡献2条内容
所有评论(0)