⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baitap1_2.cc

📁 basic about Unix ptheard and pid
💻 CC
字号:
#include <sys/types.h>#include <stdio.h>#include <unistd.h>#include <wait.h>#include <iostream.h>#include <stdlib.h>#include <sys/shm.h>#include <sys/stat.h>#define MAX_SEQUENCE 10typedef struct{   long fib_sequence[MAX_SEQUENCE];     int sequence_size ;} shared_data ;int main(int argc, char *argv[]){		if (argc != 2)	{		cout<<"So^' do^i' so^' kho^ng ho*p. le^.\n";		return 1;	}		int n = atoi(argv[1]);		if (n<0 || n>MAX_SEQUENCE)	{		cout<<"Error\n";		return 1;	}	long fib_sequence[MAX_SEQUENCE];	int seg_id=shmget(IPC_PRIVATE,sizeof(shared_data),S_IRUSR|S_IWUSR);	shared_data *m;	m=(shared_data*)shmat(seg_id,NULL,0);	m->sequence_size = n;	m->fib_sequence[0]=0;	m->fib_sequence[1]=1;        pid_t pid ;        pid = fork();        if (pid == 0 )        {               for (int i=2;i<m->sequence_size;i++)			m->fib_sequence[i]=m->fib_sequence[i-1]+m->fib_sequence[i-2];		        }        else if (pid > 0)        {              wait(NULL);		for (int i=0;i<m->sequence_size;i++)			cout<<m->fib_sequence[i]<<endl;		 	shmdt(m);		shmctl(seg_id,IPC_RMID,NULL);	                       _exit(0);        }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -