shmat 返回的地址ok的
使用gdb调试,在memset的时候Program received signal SIGSEGV, Segmentation fault
如果去掉memset ,到了读写内存的时候也同样是段错误,求教。。谢谢
typedef struct
{
char a[16];
char b[16];
}Strutest;
typedef struct
{
int indx;
Strutest S8testData[1024];
}StruAlltest;
StruAlltest *gMemtest;
int s32Index,s32ID;
unsigned int u32Addr;
s32ID = shmget(s32Index,u32Size,IPC_CREAT|0777);
if(s32ID == -1)
{
perror("shmget error");
//printf("shmget error.\n");
return(NULL);
}
u32Addr = (unsigned int)shmat(s32ID,NULL,0);
gMemtest= (StruAlltest*)u32Addr;
memset(gMemtest,0,u32Size);