首页 > 解决方案 > 在 shmat() 中删除了标识符

问题描述

这是我的代码的一部分。运行时,出现错误。它是“删除标识符”。我正在添加我的输出。

#define SEMKEYPATH "/dev/null"

typedef struct myStruct3 {
struct myStruct3* next=NULL;
}mainList;

mainList* shared;

int main(){

    key_t KEYSHM=ftok(SEMKEYPATH,17);
    int cid;

    if(cid=shmget(KEYSHM, sizeof(mainList), IPC_CREAT|S_IRUSR | S_IWUSR) < 0) perror("1----:"); 

    if((shared=(mainList*)shmat(cid,NULL,0))==(mainList*) -1) perror("2----:");

    printf("memory: %d\n",cid);
}

''' 输出,

2--- Identifier removed
memory: 0 

没有关于 perror 1''' 的输出

标签: cshared-memoryidentifier

解决方案


推荐阅读