Daten transferieren
-
Hallo,
im Buch C++ lernen und professionell anwenden, ist ein Absatz mit volatile-Objekten:Volatile-Objekte
Mit dem selten benutzten Schlüsselwort volatile werden Variablen definiert, die nicht nur durch das Programm selbst, sondern auch durch andere Programme und Ereignisse von außerhalb veränderbar sind. Solche Ereignisse können etwa durch Interrupts einer Hardware-Uhr hervorgerufen werden.
Beispiel: volatile unsigned long clock_ticks;
Auch wenn das Programm selbst die Variable nicht verändert, muss der Compiler davon ausgehen, dass sich der Wert der Variablen seit dem letzten Zugriff verändert haben kann. Der Compiler erzeugt daher Maschinencode, der bei jedem lesenden Zugriff auf die Variable den Wert erneut einliest (und nicht mit dem zuvor gelesenen Wert weiterarbeitet.)Wie das funktionieren soll ist mir allerdings ein Rätsel, hat jemand schonmal damit gearbeitet?
-
volatile bedeutet für den Compiler einfach nur, dass er die Variable nicht wegoptimieren darf, zB. könnte er die einfach in Register oder so packen, dass die im effektiven Code gar nicht vorkommt.
@DocJ
naja Dateien können leicht zu Race Conditions führen!
-
Hallo
Atom unter Windows
MfG
Klaus
-
Original erstellt von KlausB:
**HalloAtom unter Windows
MfG
Klaus**falsch!
-
Ja, dazu gibt es ziemlich viele Wege, die aber vom verwendeten Betriebssystem abhängen.
Räusper ... äh ... Remote Procedure Calls sind DCE-definierte Standards nehmen bei der Entwicklung verteilter Software eine Schlüsselrolle ein (ja, ja auch Com+ verwendet sie!).
Die Orientierung am DCE-Standard garantiert eine Möglichkeit der Interoperabilität zwischen Softwarekomponenten auf Windows NT/2000/XP / Windows 95/98 und einem DCE-System (Unix/Linux).
Pipes funktionieren unter Windows 98 erst gar nicht ...
-
Original erstellt von DocJunioR:
Windowsmäßig gibt's dann noch die Pipes."Windowsmäßig"?
IMHO kommen Pipes von Unix.
-
Hmm
Kann mir da mal einer n Beispiel dafür geben?
Nur so als Ansatz.MFG
FatalError
-
-
Pipes kommen von Unix, in DOS 2.0 oder so hat MS dann müselig versucht so etwas in ihren Kernel zu hacken.
Pipes funktionieren unter Windows 98 erst gar nicht ... rolleyes
Ich programmiere zwar nicht für Windows, aber es gibt AFAIK ein Aufruf zum erzeugen einer Pipe.
Räusper ... äh ... Remote Procedure Calls sind DCE-definierte Standards nehmen bei der Entwicklung verteilter Software eine Schlüsselrolle ein
Ich kenn mich mit DCE nicht aus, aber IPC != RPC und um die DCE IPC Features zu nutzen das ganze Projekt auf DCE umzustellen, ist vielleicht ein bisschen heftig (BTW. CORBA ist ja was ähnliches).
Kann mir da mal einer n Beispiel dafür geben?
Wofür? Stell deine Frage präziser und gibt uns ein paar Informationen, die uns helfen dein Problem zu lösen (zum Beispiel solltest du feststellen, nach der bisherigen Diskussion, dass es sehr interessant wär das OS zu erfahren).
-
Nagut, hier kommen ein paar Infos:
Also, ich will es in Windows 98 proggen.
Ich weiß jetzt nich so recht, was für Infos ihr noch braucht, ich schreib jetzt einfach mal, die Vorraussetzungen:
Es soll min. 3 Transfers in der Sekunde sein, aber ich brauche nur eine einzige integer-Zahl übermitteln.Kann man diesen Voraussetzungen gerecht werden
MFG
FatalError
-
Also, ich will es in Windows 98 proggen.
Dann fallen Named Pipes schon mal weg.
Was darf's denn zuerst sein, die Server- oder die Clientapplikation?