Chinaunix首页 | 论坛 | 博客
  • 博客访问: 339802
  • 博文数量: 59
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 646
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 12:09
文章分类

全部博文(59)

文章存档

2009年(2)

2008年(57)

我的朋友

分类: C/C++

2008-07-17 10:09:01

今天按着书编写了一个小程序编译时总出现“提领指向不完全类型的指针”的错误提示源代码如下:
#include
#include
#include
#include
#include //原来没这行
int main(int argc,char **argv)
{
pid_t my_pid,parent_pid;
uid_t my_uid,my_euid;
gid_t my_gid, my_egid;
struct passwd *my_info;

my_pid=getpid();
parent_pid=getppid();
my_uid=getuid();
my_euid=geteuid();
my_gid=getgid();
my_egid=getegid();
my_info=getpwuid(my_uid);

printf("process ID:%ld\n",my_pid);
printf("parent ID:%ld\n",parent_pid);
printf("user ID:%ld\n",my_uid);
printf("Efective User ID:%ld\n",my_euid);
printf("group ID:%ld\n",my_gid);
printf("Effective Group ID:%ld\n",my_egid);

if(my_info)
{
printf("my login name:%s\n",my_info->pw_name);
printf("my password:%s\n",my_info->pw_passwd);
printf("my user id:%ld\n",my_info->pw_uid);
printf("my group id:%ld\n",my_info->pw_gid);
printf("my real name:%s\n",my_info->pw_gecos);
printf("my home dir:%s\n",my_info->pw_dir);
printf("my work shell:%s\n",my_info->pw_shell);

}

}
后来上网查了一下,对于这个问题,网上也是没有什么好的解释,后来我又查了一下函数getwuid的原型得知这个函数是需要头文件#include 的,于是加上头文件重新编译,成功。
汗!!!!又是一个关于头文件的问题,看来头文件真的很重要。
阅读(6561) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

niutao.linux2008-07-19 16:00:18

一般编译出现例如“内建函数xxx不兼容隐式声明 ”、"xxx未定义"等错误都是由于没有加头文件,这是如果你不知道该函数的头文件是什么,你可以在命令行上: man xxx 或者 man 2 xxx 就可以查到xxx函数的详细解释。