如何解决如何使用共享内存来存储整数并访问它以传递给我的进程函数?
** //我无法让我的代码执行我的进程,我不确定为什么? 此代码不运行。我在将共享内存指向我的 xNum 值并传递给我要执行的进程时遇到问题。
{
int timer;
pid_t pid;
pid = fork();
key_t SHM_KEY;
int *X_memory;
int X_value;
int *x = 0;
int xNum = 19350;
int num = 5; // the total number of iteration loops
int sumValue1;
int sumValue2;
//boolean R_flag = false;
int shmid;
shmid = shmget(SHM_KEY,1024,0666|IPC_CREAT);
X_memory=shmat(shmid,NULL,0);
if (X_memory == (int*)-1) {
perror("Shared memory error !");
exit(1);
}
memcpy(X_memory,x,5);
X_memory = &xNum;
printf("x=%d\n",*X_memory);
for (int i = 0; i < num; i++){
if (pid == -1){
printf("Error! Unable to process.\n");
return 1;
}
else if (pid == 0)
{
sumValue1 = X_value - 5;
printf("Child : x= %d\n",sumValue1);
}
**
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。