C ++崩溃中的共享内存

时间:2012-01-13 09:10:59

标签: c++ posix shared-memory

我使用共享内存使用shmget函数存储一些数据。然后我使用shmat附加它并保存数据。下次我附加它时,程序崩溃了。这条线的可能性有哪些:

if((smemPtr = (int*)shmat(sMemId,NULL,0)) != (int *) -1)

崩溃?我需要知道这条线路崩溃的情况。 sMemId有一个值。

1 个答案:

答案 0 :(得分:0)

(int*) (...) != (int *) -1

指向另一个对象的指针是无符号值。在这段代码中,我看到C样式转换签名(负)值为unsigned。结果取决于编译器,平台和一般情况 - undefined。