我对如何分配共享内存产生了疑问 使用一些shmget函数。究竟是什么语法? 我也想知道如何在子对中分叉子进程,它们分别执行不同的功能,然后父进程给出进程的输出。
答案 0 :(得分:-1)
是的,我支持你的问题。以下是为不同函数分配共享内存的语法。
thread_identifier = shmget(IPC_PRIVATE, num * sizeof(int), 0777|IPC_CREAT)
为了分叉。
if (fork()==0) { printf("desired output "); for(i = 0; i < num; i++) { x[i] = 1 + (rand() % max); printf("%d \n", x[i]); *output *= x[i]; } printf("output %d", *output);
您可以使用then else
循环输入其他子进程。