Large Integer
-
Hallo,
macht es einen Unterschied ob ich
// das LARGE_INTEGER Test; // oder das verwende __int64 Test;
und gibt es noch Einschränkungen bei der Verwendung von int64 im ausführbaren Programm, z.B. OS ab W2K oder ProzessorTyp ab P3 ...
Gruß WoWe
-
ein kurzer blick in die hilfe wird dich bestimmt weiter bringen!!
-
Immer diese Sprüche ! Natürlich hab ich schon in der Hilfe geschaut, aber nichts zufriedenstellendes gefunden.
-
Ein LARGE_INTEGER ist eine union, die es ermöglicht comnpilern die keine 64 bit Unterstützung für integer haben, dieses über den lowPart bzw. HighPart trotzdem zu ermöglichen
typedef union _LARGE_INTEGER { struct { DWORD LowPart; LONG HighPart; }; LONGLONG QuadPart; } LARGE_INTEGER;
Ein _int64 ist ein long long type und somit ein 64 bit value gegenüber einem long, der nur 32 bit representiert.
Noch ein kleiner Tip, da oftmals die Hilfe versagt, bzw. genau das nicht indiziert ist was man sucht, gehe ich oft so vor, dass ich in den Header files von Borland C:\....CBuilder6\Include nach definitionen (z.B. _int64) suche. Hier kann man oft sehr viel mehr finden, als in der Hilfe angeboten wird. Z.B. wie mache Methoden umgesetzt sind (immer daran denken, das die VCL in Pascal geschrieben ist) und welche MEthode u.U. effizienter ist als eine andere.Gruß
GerhardEdit:
Bitte die Code-Tags benutzen. Danke!
-Jansen
-
Hallo Gerhard,
vielen Dank für deine Hilfe. Das mit den Compilern 32/64 bit ist mir jetzt klar. Kannst du mir noch sagen ob ich ein Programm mit __int64 bedenkenlos auf älteren Systemen laufen lassen kann oder gibt es da Probleme ?
Gruß WoWe
-
Hallo WoWe,
ups jetzt hast Du mich etwas kalt erwischt bezüglich "mit älteren Systemen". Also ob ein _int64 unter WIndows 3.11 läuft wage ich stark zu bezweifen. Aber ab WIN95 gibt es keine Probleme.
Gruß
Gerhard
-
Jo, danke. Das war ein Denkfehler von mir. Ich hab mir das noch mal mit dem Debugger/CPU angeschaut und gesehen dass das alles mit 32 bit (mov, add) gemacht wird, und 16 bit ist ja doch schon etwas her.
Wenn 64 bit Prozessoren unter Windows genutzt werden gibt es bestimmt eine Option zum Optimieren, bzw. wird dann wohl automatisch bei 32 bit Prozessoren auf 1/2 Leistung runtergeschaltet.
WoWe