当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 有谁帮我看一下
帖子发表于 : 2008-07-26 23:21 

注册: 2008-07-26 23:17
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
下面这条程序编译时为什么会出现如下错误:
stat1.c:1:22: 错误: sys/types.h:没有该文件或目录
stat1.c:2:21: 错误: sys/stat.h:没有该文件或目录
stat1.c:3:19: 错误: unistd.h:没有该文件或目录
stat1.c:4:18: 错误: stdio.h:没有该文件或目录
stat1.c: 在函数‘main’中:
stat1.c:7: 错误: ‘s1’的存储大小未知
stat1.c:10: 警告: 内建函数 ‘printf’ 不兼容的隐式声明
stat1.c:13: 错误: ‘avgv’未声明 (在此函数内第一次使用)
stat1.c:13: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
stat1.c:13: 错误: 所在的函数内也只报告一次。)
stat1.c:15: 警告: 内建函数 ‘printf’ 不兼容的隐式声明
stat1.c:19: 警告: 内建函数 ‘printf’ 不兼容的隐式声明

#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<stdio.h>
printf("Usage:%s filename\n",argv[0]);
return 1;
}
if(stat(avgv[1],&s1)==-1)
{
printf("Can not get the information of the file!\n");
return 1;
}
if(S_ISREG(s1.st_mode))
printf("%s is a regular file,judge by S_ISREG\n");
if(S_ISDIR(s1.st_mode))
printf("%s is directory,judge by S_ISDIR\n");
printf("Equipment ID :%5d Inode :%10ld\n",s1.st_dev,s1.st_ino);
printf("Permission :%o\n",s1.st_mode&0x1ff);
printf("The number of Hardlink is:%ld\n",s1.st_nlink);
printf("Owner ID :%10d Group ID :%10d\n",s1.st_uid,s1.st_gid);
printf("Size :%s\n",s1.st_size);
printf("Last Access Time:%s\n",ctime(&s1.st_atime));
printf("Last Modification Time :%s\n",ctime(&s1.st_mtime));
printf("Last Status Change Time:%s\n",ctime(&s1.st_ctime));
return 0;
}


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-26 23:22 

注册: 2008-01-09 22:41
帖子: 18311
送出感谢: 0 次
接收感谢: 6
:shock:

没遇到过,关注


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-26 23:34 

注册: 2008-07-26 23:17
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
是不是因为我没有下载好为库文件


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-26 23:42 

注册: 2008-02-01 17:18
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
第一个错误, 你的main函数呢?
第二个错误, 你的变量s1什么时候声明的呢


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-26 23:51 

注册: 2008-07-26 23:17
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
不好意思,复制少了,本来的错误程序应该如下:
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<stdio.h>
int main(int argc,char * argv[])
{
struct stat s1;
if(argc!=2)
{
printf("Usage:%s filename\n",argv[0]);
return 1;
}
if(stat(argv[1],&s1)==-1)
{
printf("Can not get the information of the file!\n");
return 1;
}
if(S_ISREG(s1.st_mode))
printf("%s is a regular file,judge by S_ISREG\n");
if(S_ISDIR(s1.st_mode))
printf("%s is directory,judge by S_ISDIR\n");
printf("Equipment ID :%-5d Inode :%-10ld\n",s1.st_dev,s1.st_ino);
printf("Permission :%o\n",s1.st_mode&0x1ff);
printf("The number of Hardlink is:%ld\n",s1.st_nlink);
printf("Owner ID :%-10d Group ID :%-10d\n",s1.st_uid,s1.st_gid);
printf("Last Access Time:%s",ctime(&s1.st_atime));
printf("Last Modification Time :%s",ctime(&s1.st_mtime));
printf("Last Status Change Time:%s",ctime(&s1.st_ctime));
return 0;
}

请问这条程序为什么会出现下面的错误信息
stat1.c:1:22: 错误: sys/types.h:没有该文件或目录
stat1.c:2:21: 错误: sys/stat.h:没有该文件或目录
stat1.c:3:19: 错误: unistd.h:没有该文件或目录
stat1.c:4:18: 错误: stdio.h:没有该文件或目录
stat1.c: 在函数‘main’中:
stat1.c:7: 错误: ‘s1’的存储大小未知
stat1.c:10: 警告: 内建函数 ‘printf’ 不兼容的隐式声明
stat1.c:13: 错误: ‘avgv’未声明 (在此函数内第一次使用)
stat1.c:13: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
stat1.c:13: 错误: 所在的函数内也只报告一次。)
stat1.c:15: 警告: 内建函数 ‘printf’ 不兼容的隐式声明
stat1.c:19: 警告: 内建函数 ‘printf’ 不兼容的隐式声明


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-26 23:57 

注册: 2008-02-01 17:18
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
我的机器上面是可以编译的,有没有安装build-essential
先sudo apt-get install build-essential或者用新力得安装这个包然后试试看


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-07-27 7:48 

注册: 2008-07-26 23:17
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
还是不行啊,为什么


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-27 8:42 

注册: 2008-02-01 17:18
帖子: 106
送出感谢: 0 次
接收感谢: 0 次
错误在于缺少头文件,
在信利得中查查看libc, 然后安装合适的以dev结尾的文件,
因为我和你用的ubuntu的版本不同,更新源里的文件也可能不同,所以不能告诉你确定的文件名了(我的机器中的软件包的名称是libc6-dev)
找到合适的装上试试看
进入/usr/include/sys目录看看,有没有所需要的types.h, stat.h,如果没有的话,就没办法编译的


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译