linux下到底有哪个IDE支持函数和自定义变量的语法高亮的???
时间:2011-03-04
来源:互联网
运行后机子就卡死了。 高手帮忙解释下
代码:
#include<stdlib.h>
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
作者: momar 发布时间: 2011-03-04
运行后机子就卡死了。 高手帮忙解释下
代码:
#include<stdlib.h>
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
作者: momar 发布时间: 2011-03-04
运行后机子就卡死了。 高手帮忙解释下
代码:
#include<stdlib.h>
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
#include<unistd.h>
#include<stdio.h>
#include<sys/wait.h>
#include<sys/ipc.h>
#include<sys/sem.h>
union semun
{
int val;
struct semid_ds *buf;
unsigned short int *array;
struct seminfo *_buf;
};
struct sembuf SBuf;
int smid;
int p(int);
int v(int);
void process1();
void process2();
void process3();
void process4();
void process5();
void process6();
int main(void){
union semun pps;
pid_t pcs1,pcs2,pcs3,pcs4,pcs5,pcs6;
int i=0;
pps.val = 0;
smid = semget(IPC_PRIVATE,5,IPC_CREAT | 0777);
for(i = 0;i < 5;i++)
{
semctl(smid,i,SETVAL,pps);
}
for(i = 0;i < 10;i++){
if((pcs1 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs1 == 0){
process1();
}
}
for(i = 0;i < 10;i++){
if((pcs2 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs2 == 0){
process2();
}
}
for(i = 0;i < 10;i++){
if((pcs3 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs3 == 0){
process3();
}
}
for(i = 0;i < 10;i++){
if((pcs4 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs4 == 0){
process4();
}
}
for(i = 0;i < 10;i++){
if((pcs5 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs5 == 0){
process5();
}
}
for(i = 0;i < 10;i++){
if((pcs6 = fork()) < 0){
printf("error in fork().\n");
exit(1);
}
else if (pcs6 == 0){
process6();
}
}
}
int p(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = -1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
int v(int num)
{
SBuf.sem_num = num;
SBuf.sem_op = 1;
SBuf.sem_flg = IPC_NOWAIT;
return(semop(smid,&SBuf,1));
}
void process1()
{
printf("This is process 1~\n");
v(0);
v(0);
}
void process2()
{
if(p(0) != -1)
{
printf("this is process 2~\n");
v(1);
v(0);
}
}
void process3()
{
if(p(0) != -1)
{
printf("this is process 3~\n");
v(2);
v(1);
}
}
void process4()
{
if(p(1) != -1)
{
printf("this is process 4~\n");
v(1);
v(3);
}
}
void process5()
{
if((p(1) != -1)&&(p(2) != -1))
{
printf("this is process 5~\n");
v(1);
v(2);
v(4);
}
}
void process6()
{
if((p(3) != -1)&&(p(4) != -1))
{
printf("this is process 6~\n");
v(3);
v(4);
}
}
作者: momar 发布时间: 2011-03-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28