So visualisieren Sie Bytes mit C / C ++

7

Ich arbeite mich durch ein C ++ - Training. So weit, so gut, aber ich brauche Hilfe, um einige der Konzepte, die ich lerne, zu stärken. Meine Frage ist, wie gehe ich über die Visualisierung der Byte-Muster für Objekte, die ich erstelle. Zum Beispiel, wie würde ich das Byte-Muster für Strukturen, Longs, Ints usw. ausdrucken?

Ich verstehe es in meinem Kopf und kann die Diagramme in meinen Lernmaterialien verstehen. Ich möchte nur in der Lage sein, Byte-Muster innerhalb einiger meiner Studienprogramme programmatisch anzuzeigen.

Ich weiß, dass das ziemlich trivial ist, aber jede Antwort würde mir sehr dabei helfen, diese Konzepte einzubringen.

Danke.

Edit: Ich verwende meistens XCode für meine anderen Entwicklungsprojekte, habe aber VMs für Windows7 und Fedora Core. Bei der Arbeit benutze ich XP mit Visual Studio 2005. (Ich kann nichts sagen, da ich immer noch ein N00b hier bin: D)

Ich habe die Abwicklungslösung verwendet, die genau das ist, wonach ich suche. Ich denke auch, dass ich vielleicht den Befehl dos DEBUG verwenden könnte, da ich auch gerne Stücke für das Gedächtnis ansehen möchte. Auch dies hilft mir, das zu verstärken, was ich lerne. Danke nochmal Leute!

    
OhioDude 28.05.2009, 11:58
quelle

6 Antworten

24

Sie können eine Funktion wie diese verwenden, um die Bytes zu drucken:

%Vor%

Die Verwendung würde so aussehen, zum Beispiel:

%Vor%

Dies zeigt die Bytes genauso wie rohe numerische Werte, in Hexadezimal, die üblicherweise für "Speicherabbilder" wie diese verwendet werden.

Auf einer zufälligen (vielleicht sogar virtuellen, für alle, die ich weiß) Linux-Maschine, auf der eine "Intel (R) Xeon (R)" - CPU läuft, wird Folgendes gedruckt:

%Vor%

Dies zeigt auch, dass die Intel-CPU-Familie wirklich Little Endian ist.

    
unwind 28.05.2009, 12:05
quelle
5

Wenn Sie gcc und X verwenden, können Sie mit dem DDD-Debugger hübsche Bilder Ihrer Datenstrukturen zeichnen für dich.

    
anon 28.05.2009 12:34
quelle
2

Nur der Vollständigkeit halber, ein C ++ Beispiel:

%Vor%     
juanchopanza 17.04.2013 15:10
quelle
1

Die meisten (visuellen) Debugger haben eine "View Memory" -Option. IIRC die in Xcode ist ziemlich einfach, zeigt nur Bytes in HEX und ASCII, mit einer variablen Zeilenlänge. Visual Studio (Debug- & gt; Windows- & gt; Speicher in Vs2008) kann den hexadezimalen Teil als verschiedene Integer-Längen oder Gleitkomma formatieren, den Endianess ändern und ANSI- oder UNICODE-Text anzeigen.Sie können auch fast jede Zahl für die Breite des Fensters einstellen (ich denke, xcode lässt Sie nur Gehe zu 64 Bytes weit) Die andere IDE, die ich hier bei der Arbeit habe, hat viele Optionen, obwohl nicht ganz so viele wie VS.

    
Dolphin 28.05.2009 14:31
quelle
0

Oder wenn Sie die Boost-Lib haben und Lambda-Auswertungen verwenden möchten, können Sie dies auf diese Weise tun ...

%Vor%     
TimW 28.05.2009 13:35
quelle
-1

versuche das:

%Vor%

Prost,

jrh.

    
jrharshath 28.05.2009 12:05
quelle

Tags und Links