关于APUE第一个程序编译出错问题,在线等~

xiyangbu xiyangbu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从APUE的书上抄了第一个程序1-1,ourhdr.h 我是从课本后面的附录上面打上的,然后放在了/usr/include/中,程序存储为ls.c,程序如下:
#include <sys/types.h>
#include <dirent.h>
#include "ourhdr.h"

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("can't open %s",argv[1]);
while((dirp=readdir(dp))!=NULL)
printf("%s\n",dirp->d_name);

closedir(dp);
exit(0);
}

编译:gcc ls.c ,出错问题如下:
[root@localhost ~]# gcc ls.c
ls.c: 在函数 ‘pr_mask’ 中:
ls.c:7: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘{’ token
ls.c:21: 错误:原型函数定义中使用了旧式参数声明
ourhdr.h:35: 错误:省略了形参的名字
[root@localhost ~]#
大家帮忙看看是什么问题?谢~~
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
xiyangbu
Linux/Unix社区 23,224 成员 74,535 内容