hell-student
Lieutenant
- Registriert
- Nov. 2007
- Beiträge
- 671
Hallo Zusammen,
so wie ich das sehe sind Pointer ja nichts anderes wie Zeiger auf Speicheradressen. Ich glaube aber der Knackpunkt ist der Speicherschutz. Ich würde gerne, damit ich nicht soviel senden muss per Pipe zwischen 2 Prozessen statt einer Nachricht (die ich sowohl auf Sender Seite zusammen setzten muss, als auch auf Empfänger seite wieder decodieren muss) einfach einen Pointer auf den Speicherbereich senden. Jedoch denkle ich wird das nicht klappen, da ja andere Tasks nicht auf den Speicherbereich von anderen Tasks zugreifen dürfen.
Also so irgendwie
In Task B dann die Adresse die gesendet wurde einem Pointer zuweisen und benutzen. Dies spricht jedoch leider gegen Speicherzugriffschutz oder irre ich mich da. thx
so wie ich das sehe sind Pointer ja nichts anderes wie Zeiger auf Speicheradressen. Ich glaube aber der Knackpunkt ist der Speicherschutz. Ich würde gerne, damit ich nicht soviel senden muss per Pipe zwischen 2 Prozessen statt einer Nachricht (die ich sowohl auf Sender Seite zusammen setzten muss, als auch auf Empfänger seite wieder decodieren muss) einfach einen Pointer auf den Speicherbereich senden. Jedoch denkle ich wird das nicht klappen, da ja andere Tasks nicht auf den Speicherbereich von anderen Tasks zugreifen dürfen.
Also so irgendwie
Code:
Task A
int s;
s = 10;
char msg[100];
sprintf(msg, "%p", &s);
write(pipe, msg, sizeof(msg));
In Task B dann die Adresse die gesendet wurde einem Pointer zuweisen und benutzen. Dies spricht jedoch leider gegen Speicherzugriffschutz oder irre ich mich da. thx