// Разделяемая память SystemV в Linux // Программа из учебника "Системное программирование в среде Linux", Гунько А.В., стр. 100 // Название: shmwrite.c // Описание: запись в сегмент разделяемой памяти //svshm/shmwrite.c #include #include #include #include #include int main(int argc, char **argv) { int i, id; struct shmid_ds buff; unsigned char *ptr; if (argc != 2) { printf("usage: shmwrite \n"); exit(-1); } id = shmget(ftok(argv[1], 0), 0, 0); ptr = shmat(id, NULL, 0); shmctl(id, IPC_STAT, &buff); /* присваиваем: ptr[0] = 0, ptr[1] = 1 и т. д. */ for (i = 0; i < buff.shm_segsz; i++) *ptr++ = i % 256; exit(0); }