zugriff auf define (innerhalb von struct)
-
Zihat schrieb:
deshalb wollte ich in der struct einen pointer auf die zahl haben...
das geht ja eben nicht, weil die zahl 'nur' als define existiert. pointer sind aber dazu da, auf speicheradressen zu zeigen und nicht in den quellcode.
#define WERT 1234456571221 void *p = &WERT; // <--- sowas klappt nimmer nicht
-
5.2.4.2.1 schrieb:
maximum value for an object of type unsigned long long int
ULLONG_MAX 18446744073709551615
MFK schrieb:
_matze sprach von long long. Was für ein System ist das denn?
ISO-C?
-
Ist __int64 nicht eigentlich Compiler-spezifisch? Wenn ja, gibt's noch andere Compiler die das unterstützen? Wenn ja, welche? (Hab dazu im Netz nichts gefunden).
ok, hab doch was gefunden, ist Compiler-spezifisch. Bleibt die Frage, ob z.B. der GCC das unterstützt (meinetwegen auch per typedef).
-
Der kann angeblich fast ganz C99. Also auch das.
-
Badestrand schrieb:
Ist __int64 nicht eigentlich Compiler-spezifisch?
ja, so heissen die 64bittigen ints beim msvc. GCC nennt das 'long long' und im C99 stdint.h heissen die 'int64_t'
-
mein prozessor hat nur 32 bits, was soll mir da _int64 bringen? das kann ich nur mit x64 benutzen
-
mein prozessor hat nur 32 bits, was soll mir da _int64 bringen?
Stell dir vor: ich habe nur zwei Augen, und schon mehr als vier Dinge gesehen! Warum wohl?
-
zihat schrieb:
mein prozessor hat nur 32 bits, was soll mir da _int64 bringen? das kann ich nur mit x64 benutzen
der prozessor ist (fast) nicht so wichtig. was benutzt du denn für einen compiler?
...und welchen prozessor solltest du trotzdem mal sagen.
-
zihat schrieb:
mein prozessor hat nur 32 bits, was soll mir da _int64 bringen? das kann ich nur mit x64 benutzen
Nein Bruder, das funktioniert schon seit über 10 Jahren auf 32 bit Maschinen.
-
zihat schrieb:
mein prozessor hat nur 32 bits, was soll mir da _int64 bringen? das kann ich nur mit x64 benutzen
Anstatt ständig zu widersprechen, solltest du meinen Vorschlag vielleicht erstmal ausprobieren. Das ist ja alles schon ein paar Tage her, und du hättest 2 Minuten gebraucht, um das wenigstens mal zu testen...
Übrigens heißt der Typ __int64, nicht _int64 (damit du nicht sagst: _int64 geht ja doch nicht!), oder eben long long (für deine Zwecke am besten unsigned). Eine dritte Variante wurde hier ja auch gepostet: int64_t. Eine der drei Versionen wird für dich schon passen.