簡體   English   中英

C ++中的共享內存崩潰

[英]Shared memory in C++ crash

我正在使用共享內存使用shmget函數存儲一些數據。 然后,我使用shmat附加它並保存數據。 下次我附加它時,程序崩潰。 這條線有什么可能性:

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

崩潰? 我需要知道此行崩潰的情況。 sMemId有一個值。

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

指向另一個對象的指針是無符號值。 在這段代碼中,我看到C樣式將有符號(負)值轉換為無符號。 結果取決於編譯器,平台,並且在一般情況下-未定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM