Warum wird in der Winapi so viel großgeschrieben?
-
Hallo, ich wollte gerne wissen, warum in der Winapi so viel großgeschrieben wird.
z.B:
#define INT int #define VOID void typedef char CHAR; typedef short SHORT; typedef long LONG; typedef float FLOAT;
Und warum wird BOOL als int, und nicht als bool definiert!?
typedef int BOOL;
(Bei mir Zeile 153: WinDef.h)
Und ist es sinnvoll diese Definitionen zu benutzen, und wenn ja, warum?
Ich benutze MS Visual Studio 2010, und wie bei den meisten anderen IDE's auch, gibt es doch eine Syntaxhervorhebung für
Typen wie int, void, char, etc....
Ich finde, das macht den Code nicht unbedingt übersichtlicher!Hoffe, mich kann jemand darüber aufklären!
-
- weil defines historisch bedingt die Quasi-Namenskonvention Großbeschreibung besitzen (compiler- und plattformübergreifend)
- weil bool kein Standarddatentyp in C89 ist und erst mit C99 eingeführt wurde (Abwärtskompatibilität)
-
Ich zB. schreibe fast immer den realen Typ direkt hin. Ich mag diese Typmakros irgendwie nicht.
-
Hi schrieb:
Ich zB. schreibe fast immer den realen Typ direkt hin. Ich mag diese Typmakros irgendwie nicht.
- spaetestens wenn man seine App fuer win32 und win64 compiliert, wird man die typedefs zu schaetzen lernen.
Gruss
Dirk
-
dbu schrieb:
- spaetestens wenn man seine App fuer win32 und win64 compiliert, wird man die typedefs zu schaetzen lernen.
Trotzdem kein Grund die Typen komplett groß zu schreiben. :p
-
Artchi schrieb:
dbu schrieb:
- spaetestens wenn man seine App fuer win32 und win64 compiliert, wird man die typedefs zu schaetzen lernen.
Trotzdem kein Grund die Typen komplett groß zu schreiben. :p
Ich finde es auf jeden Fall konsequent.
Unter einer Annahme: Die ersten Ersetzungen waren keine typedefs, sondern wirkliche defines (was ich mir sehr gut vorstellen kann) -> Großschreibung ist wie von Wutz geschrieben die Konvention.Und da hat Microsoft eben weiter gemacht und die neueren typedefs heißen somit
LONG_PTR
statt des vielleicht schönerem aber inkosequentemlongPtr
.Und überhaupt, was ist schön
?