LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7096|回复: 4

#include<sys/types.h>的作用?

[复制链接]
发表于 2004-11-21 14:53:04 | 显示全部楼层 |阅读模式
我写了一段进程创建的小程序:
#include<sys/types.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

int main(void)
{
   pid_t child;

   if(child = fork() == -1){
      perror("fork");
      exit(EXIT_FAILURE);
   }

   else if (child = fork() == 0){
      puts("in child");
      printf("\tchild pid = %d\n",getpid());
      printf("\tchild ppid = %d\n",getppid());
      exit(EXIT_SUCCESS);
   }
  else{
      puts("in parent");
      printf("\tparent pid = %d\n",getpid());
      printf("\tparent ppid = %d\n",getppid());
      exit(EXIT_SUCCESS);
   }
}
发现一本书上类似的程序没有#include<sys/types.h>的头文件,请问:象pid_t这样的定义类型,许不许要改头文件呢?
发表于 2004-11-21 20:32:40 | 显示全部楼层
你为什么不试试呢?有问题时先思考,后实践,最后再问别人,学习效果会更好。
发表于 2004-11-21 21:38:31 | 显示全部楼层
这个看在什么系统上了,linux的话,应该stdlib之类的已经自己包含了这个了。但是在solaris 7上面,就需要自己include了。而且还要注意顺序。总之。还是先实践一下吧。
发表于 2004-11-22 09:52:12 | 显示全部楼层
很多类型其实都是用typedef重定义的,和基本类型没什么区别,比如那个
pid_t好像就是int 型的,<sys/types.h>只是为了定义系统类型(pid_t,size_t等),没别的意思,谢谢!
 楼主| 发表于 2004-11-22 12:06:46 | 显示全部楼层
谢谢各位!
我已经编译过了,的确可以,
只是不太明白原因,感谢大家的帮助,
我一定会努力的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表