Programmieren - alles kontrollieren 4.939 Themen, 20.672 Beiträge

In C++ auf eine Speicheradresse direkt zugreifen.

Pitsch / 7 Antworten / Flachansicht Nickles

Kann mir jemand verraten, wie ich in \'C++\' eine Speicheradresse
direckt ansprechen kann (zum Beispiel \'378 Hex\' \'888 Dez\' = LPT1)
und zwar so, dass nur der wert von einem Byte (8 Bit)angesprochen wird.
Ich möchte den Wert einer Variablen dort hineinschreiben, oder den vorhandenen Wert in der Speicherstelle einer Variablen zuweisen um die nachher weiter zu verarbeiten.

Ein Müsterchen Programmcode wäre am hilfreichsten.

Besten Dank zum voraus!
Pitsch

bei Antwort benachrichtigen
Dreamforger Pitsch „In C++ auf eine Speicheradresse direkt zugreifen.“
Optionen

unsigned char *ptr; // 1 byte großer pointer
ptr = 0x378; // adresse setzen
*ptr = /*wert*/ // wert zuweisen

Das geht auch mit komplexeren typen (struct / union)

Sollte mich aber garnicht wundern wenn das in Schutzverletzungen endet. Vieleicht ist aber auch der das erste Segment das Virtuellen Speichers ein direktzugriff auf die ersten Hauptspeicherplätze...

Ausprobieren und auf das schlimmste gefasst sein.

bei Antwort benachrichtigen