Wenn ich ein gemeinsames Speichersegment mit der Größe 1024 habe, wie kann ich dann drei unterschiedlich große Bereiche davon mappen? Ich habe folgendes versucht, habe aber einen seg Fehler. Ich denke, dass etwas nicht richtig ausgerichtet ist, aber ich kann nicht isolieren, wo.Wie kann ich einen gemeinsamen Speicher in 3 unterschiedlich große mmap Zeiger in C teilen?
fd = shm_open(NAME, FLAGS, MODE);
ftruncate(fd, 1024);
addr0 = mmap(NULL, 50, PROTS, FLAGS, fd, 0);
addr1 = mmap(NULL, 100, PROTS, FLAGS, fd, 50);
addr2 = mmap(NULL, 874, PROTS, FLAGS, fd, 150);