0
我建立了我的共享內存和映射我的對象與下面的代碼(由()MMAP打開):創建/初始化共享內存對象
shmfd = shm_open(SHMOBJ_PATH, O_CREAT | O_EXCL | O_RDWR, S_IRWXU | S_IRWXG);
ftruncate(shmfd, shared_seg_size);
bbuffer = (boundedBuffer *)mmap(NULL, shared_seg_size, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, 0);
現在我需要初始化和添加/刪除項目/ bbuffer。當我嘗試添加/刪除時,出現分段錯誤:11,表示程序訪問了未分配的內存位置。我能做些什麼來解決這個問題?
向我們展示了代碼和違規發生的位置。 – philant
我出於任何原因嘗試訪問bbuffer時發生違規。 – mert
你測試過bbufer不是NULL嗎?和shm_open()返回值? – philant