【发布时间】:2015-10-16 14:42:16
【问题描述】:
我有一个全局变量:
static int *avgg;
在主函数中:
avgg = mmap(NULL, sizeof *avgg, PROT_READ | PROT_WRITE,
MAP_SHARED | MAP_ANONYMOUS, -1, 0);
pid_t pid, wpid;
int status;
pid = fork();
if (pid == 0) {
avg(argc,argv);
print_avg();
}
else{
while ((wpid = wait(&status)) > 0) {
}
cout<<"Parent process";
print_avg();
通过使用 mmap,我试图在父进程和子进程之间共享内存,但出现错误:
invalid conversion from ‘void*’ to ‘int*’ [-fpermissive]
MAP_SHARED | MAP_ANONYMOUS, -1, 0);
【问题讨论】:
标签: c++ fork shared-memory mmap