无法编译《UNIX环境高级编程》书中的程序清单1-2实例。
代码如下://
#include "apue.h"
#define BUFFSIZE 4096;
int
main(void)
{
int n;
char buf[BUFFSIZE];
while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0)
if (write(STDOUT_FIILENO, buf, n) != n)
err_sys("write error");
if (n < 0)
err_sys("read error");
exit(0);
}
//
编译器编译时提示出错:
gcc -Wall -c "1-2.c" (在目录 /home/chen/c++/UNIX 中)
1-2.c: 在函数‘main’中:
1-2.c:8:11: 错误: expected ‘]’ before ‘;’ token
1-2.c:10:33: 错误: ‘buf’未声明(在此函数内第一次使用)
1-2.c:10:33: 附注: 每个未声明的标识符在其出现的函数内只报告一次
1-2.c:10:38: 错误: expected ‘)’ before ‘;’ token
1-2.c:11:13: 错误: ‘STDOUT_FIILENO’未声明(在此函数内第一次使用)
编译失败。
;
我已经认真检查过代码与书上的一样了,其次其包含的apue.h头文件(书作者自己定义的头文件)以及error.c我已经复制到/usr/include。我上网搜索并没有人出现此错误?
不知到是否有人能够知道这问题出在哪里?还是我的编译环境有问题呢?
由于我是新手,所以我也清楚问题如何被导致的。我正在探索中。。