当前位置: 代码迷 >> C语言 >> 大侠们帮着看看这段程序那里出错了!!谢谢了!
  详细解决方案

大侠们帮着看看这段程序那里出错了!!谢谢了!

热度:225   发布时间:2008-03-01 09:42:24.0
大侠们帮着看看这段程序那里出错了!!谢谢了!
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
#include<sys/types.h>
int wait_flag;
void stop();
main()
{
int pid1,pid2;
   
signal(3,stop);
while((pid1=fork())==-1);
if(pid1>0)
{
  while((pid2=fork())==-1);
  if(pid2>0)
  {
   wait_flag=1;
   sleep(5);
   kill(pid1,16);
   kill(pid2,17);
   wait(0);
   wait(0);
   printf("\n Parent process is killed!!\n");
   exit(0);
  }
  else
  {
  wait_flag=1;
  signal(17,stop);
  printf("\n Child process 2 is killed by parent!!\n");
  exit(0);
  }
}
else
{
wait_flag=1;
signal(16,stop);
printf("\n Child process 1 is killed by parent!!\n");
exit(0);
}
}

void stop()
{
wait_flag=0;
}   

为什么系统总说第五行和第六行有错误?
line 5: int: command not found
line 6: syntax error near unexpected token `('
line 6: `void stop();'

我没觉着哪里不对呀?
我是在红旗Linux下的vi中运行的.
搜索更多相关的解决方案: 大侠  

----------------解决方案--------------------------------------------------------
刚说错了,从网上刚看了看,VC里没有unistd.h,但Linux中有unistd.h

[[it] 本帖最后由 默默无纹 于 2008-3-1 10:39 编辑 [/it]]
----------------解决方案--------------------------------------------------------
同上,不能打开包含文件."unistd.h",用的是Windows.
----------------解决方案--------------------------------------------------------
你的头文件我没见过,vi是编译用的,一般是用gcc编译
----------------解决方案--------------------------------------------------------
我正在编制一个实现软中断通信的程序,是按照书来编译的,以上是参考程序,
谢谢各位,我在到gcc下调试一下,看能不能行,我也刚用vc试过了,出现同2楼一样的情况!
----------------解决方案--------------------------------------------------------
我帮你试过了,可以编译
----------------解决方案--------------------------------------------------------
我也刚刚试过了,可以,谢谢了!
我是菜鸟,不是十分精通,以后还请大家多多关照!
----------------解决方案--------------------------------------------------------
  相关解决方案