 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Daniels78 Guest
|
Posted: Fri Mar 16, 2007 11:29 pm Post subject: Festen Speicherbereich belegen ...? |
|
|
Moin Leute,
stellt euch vor es laufen zwei programme auch einem rechner. programm 1
schreibt einen wert immer in den selben register und das andere prog.
liest ihn immer wieder aus (per pointer). somit wäre ein austausch von
werten möglich ohne das die prgramme miteinander kommunizieren würden.
ist soetwas grundsätzlich möglich???? und wie mache ich so etwas???
erinnere mich anzeichen wie 0x00000 oder so.
Wer was weis - links oder auch bücher wären super!!
schoenes we
gruss daniel |
|
| Back to top |
|
 |
Benjamin Gufler Guest
|
Posted: Fri Mar 16, 2007 11:29 pm Post subject: Re: Festen Speicherbereich belegen ...? |
|
|
Hi.
On 2007-03-16 19:29, Daniels78 wrote:
| Quote: | stellt euch vor es laufen zwei programme auch einem rechner. programm 1
schreibt einen wert immer in den selben register und das andere prog.
liest ihn immer wieder aus (per pointer). somit wäre ein austausch von
werten möglich ohne das die prgramme miteinander kommunizieren würden.
|
Äh, nein. Da die Programme Daten austauschen, kommunizieren sie miteinander.
| Quote: | ist soetwas grundsätzlich möglich????
|
Nein, jedenfalls nicht auf diese Weise mit aktuellen Betriebssystemen.
| Quote: | und wie mache ich so etwas???
|
Es gibt andere Möglichkeiten, z.B. shared memory. Das gehört aber wohl
nicht in diese Gruppe.
| Quote: | erinnere mich anzeichen wie 0x00000 oder so.
|
Das ist einfach eine 0, etwas länglich geschrieben. Kann alles und
nichts sein.
Benjamin |
|
| Back to top |
|
 |
Marcel Müller Guest
|
Posted: Fri Mar 16, 2007 11:29 pm Post subject: Re: Festen Speicherbereich belegen ...? |
|
|
Hallo,
Daniels78 schrieb:
| Quote: | stellt euch vor es laufen zwei programme auch einem rechner. programm 1
schreibt einen wert immer in den selben register und das andere prog.
liest ihn immer wieder aus (per pointer). somit wäre ein austausch von
werten möglich ohne das die prgramme miteinander kommunizieren würden.
ist soetwas grundsätzlich möglich????
|
Ja, und wenn auf dem Rechner kein Betriebssystem läuft, sprich
Ring-0-Code ohne MMU, dann und nur dann funktioniert es auch.
Dummerweise läuft dann auch kein zweites Programm :-o
| Quote: | und wie mache ich so etwas???
|
So gar nicht.
Falls man sich im Stande fühlt, den Speicherzugriff und alle daraus
resultierenden Synchronisationsanforderungen selbst korrekt zu
behandeln, nimmt man in einem Solchen Fall "Shared-Memory". Das ist
Plattformspezifisch und nicht Teil der Programmiersprache C++.
Alternativ kann man auch mit Shared-Libraries arbeiten, die gemeinsame
Datensegmente nutzen. Aber das ist das gleiche in Grün.
Realistisch betrachtet (ob der Fragestellung) gehe ich davon aus, das
die Synchronisation /nicht/ im Griff ist und es nur ein größeres
Desaster würde. Deshalb empfehle ich nach pflegeleichteren Methoden der
Interprozesskommunikation zu suchen. Pipes (respektive Fifos) sind eine
relativ weit verbreitete und einfach zu behandelnde Variante. Auch sie
sind nicht Teil der Sprache C++, aber man kommt mit sehr wenig
Plattformspezifischem Code aus.
Marcel. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|