【发布时间】:2014-01-26 12:52:54
【问题描述】:
为什么这段代码会出现段错误?共享内存 IPC SYSV。
int * addr;
int shmid = shmget(0xABC, 10*sizeof(int), IPC_CREAT);
addr = (int*) shmat(shmid, NULL, 0);
for(i = 0; i < 10; ++i){
addr[i] = (int)i*i;
}
shmdt(addr);
段错误
【问题讨论】:
-
哪一行出现分段错误?
-
没写,不过我觉得是4到7之间。
-
检查
shmget和shmat的返回值是否有错误是一个好的开始。
标签: c segmentation-fault shared-memory