Forum: Compiler & IDEs Frage zur stdint.h (inttypes.h)


von Volker Endres (Gast)


Lesenswert?

Hallo Leute,
bin im Momnet am Einarbeiten in die Programmierung der AVR Serie mit
Hilfe des AVR-gcc (Version 3.4.3).
Jetzt bin ich auf folgende Sache gestossen.
Also wenn ich eine Variable definiere zB.

unsigned long volker;

funktioniert das auch ohne das ich die Datei stdint.h einbinde.

Kann mir jemand sagen warum das so ist?

Vielen Dank Volker

von Jörg Wunsch (Gast)


Lesenswert?

Weil das Standard-C ist.

Schau doch einfach in inttypes.h rein, dann siehst du, was darin
deklariert wird.  Diese Datei ist da, integer-Datentypen mit
definierter Wortbreite zu definieren, also uint8_t, int16_t usw.

von Volker Endres (Gast)


Lesenswert?

Hallo Jörg,
danke erstmal für die Antwort.
Ich glaube jetzt habe ich es verstanden.
Zur Bestätigung meiner Erkenntnis:

wenn ich die stdint.h nicht einbinde dann kann ich nur die Standard-C
Deklarationen verwenden wie "unsigned char", die versteht der gcc von
natur aus.
Will ich aber zur besseren Verständlichkeit der verwendeten Bitlänge
meiner Variablen dann uint8_t verwenden dann muß ich die stdint.h
einbinden.
Zum Schluß, will ich nun meine eigene Bezeichnung "8BitOhneVorz"
müsste ich in stdint.h >typedef unsigned char 8BitOhneVorz<
reinschreiben.

Liege ich da richtig?

Gruß Volker

von OldBug (Gast)


Lesenswert?

Am besten nicht in den vom Compiler/der LibC mitgebrachten Headrfiles
rumpfuschen!

Leg Dir eine eigene Headerdatei an und binde die ein.
Ausserdem denke ich, daß Typen und Variablen nicht mit Ziffern beginnen
dürfen, Du müsstest dann also etwas in der Art machen:

typedef vorzeichnlose8Bit;

von Volker Endres (Gast)


Lesenswert?

Hallo OLDBug,
also ist meine Aussage von vorhin richtig.
Ja das mit Zahlen am Anfang soweit ich noch von früher in Erinnerung
habe darf nicht sein war ja nur ein Beispiel.

Muß sagen so ein Forum is was Feines.
Wahrscheinlich werdet ihr in Zukunft noch mehr von mir hier lesen
können da ich noch viel mit dem AVR (ATmega128) vorhabe.

Also Danke und bis Bald Volker

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.