ich will (oder müssen) etwas entlang der Linien vonC strcpy in ein Array von Strings im gemeinsam genutzten Speicher
char **my_array = malloc(1000*64);
strcpy(arr[0], "test");
zu tun, während ich weiß, dass arr [0] verweist nicht auf einem separaten Blatt Speicher zugewiesen, ich dachte, man sollte in der Lage sein, eine Zeichenfolge in diese zu kopieren (aber es teilt). Das funktioniert
arr[0] = "test";
Allerdings wird das nicht funktionieren, denn mein eigentliches Ziel ist es, dies im Shared Memory zu tun.
shm_array = shmget(IPC_PRIVATE, 1000 * 64, IPC_CREAT | 0644);
my_array = (char**) shmat(shm_array, (void**)0, 0);
Eigentlich könnte meine Frage umformuliert werden: „Wie kann man ein Array von Strings im gemeinsam genutzten Speicher erstellen?“. Ich habe versucht, 1000 separate "String" Shared Memory-Segmente zu erstellen, aber abgesehen davon hat es nicht funktioniert, es scheint auch falsch. Außerdem dachte ich, man sollte einfach in der Lage sein, mit relativen Pointer-Offsets in ein großes gemeinsames Speichersegment zu schreiben.
Das war, was ich eigentlich versuchte zu erreichen. Funktioniert auch mit dem Shared Memory-Segment. – MarkM