C read()/write() shared memory

Reficul

Lieutenant
Registriert
Aug. 2006
Beiträge
525
Hi,

ich will mit read eine datei in ein shared memory segment lesen und es dann mit write() in eine neue datei schreiben. Sehe ich das richtig das dies eig funktionieren sollte wenn ich

read(int fd, void *buf, size_t count);

void *buf den shared memory angebe?

mfg Reficul
 
Warum sollte das nicht funktionieren? Shared memory unterscheidet sich nicht von "normalem" memory...
 
also wenn ich eine shared memory bereich erzeuge und dann fork benutze und die beiden Prozesse an den shared memory bereich attache, wie benutze ich dort dann den bereich?
also nicht mit der ID des SharedMemoryBerieches oder?

mfg
 
Zuerst shm erzeugen, dann attachen, dann fork(). Danach haben beide Prozesse Zugriff auf den gleichen shm-Bereich.

shm_at() liefert dir einen Pointer. Dieser kann normal verwendet werden wie jeder andere Pointer auch, d.h. du brauchst (abgesehen von Synchronisation) keine besonderen Funktionen verwenden um shared memory anzusprechen bzw. daraus zu lesen oder dort zu schreiben.
 
Zurück
Oben