17. marts 2005 - 08:16
Der er
12 kommentarer og 1 løsning
Define med : high##ULL?
Jeg har følgende define i noget software jeg har fået leveret: #define UINT64_HILO(high,low) ((((high##ULL))<<32)|low) som bruges f.eks. i følgende linie divconst=UINT64_HILO(0,3600000000); Jeg får desværre følgende fejl: error C2059: syntax error : 'bad suffix on number' error C2146: syntax error : missing ')' before identifier 'L' error C2059: syntax error : ')' Hvad gør '##ULL'? Kan det skrives på en anden måde, som forhåbentligt ikke giver en fejl?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
17. marts 2005 - 08:22
#1
ULL må være unsigned long long hvilken compiler bruger du ?
17. marts 2005 - 08:25
#2
Jeg bruger Visual C++ 6.0
17. marts 2005 - 08:29
#3
#define UINT64_HILO(high,low) (((((_int64)high)<<32)|low) måske
17. marts 2005 - 08:30
#4
Men jeg er bange for at der skal laves mere kode om !
17. marts 2005 - 08:42
#5
Fik jeg sagt at koden senere skal kompileres med en ARM compiler...
17. marts 2005 - 08:59
#6
Nej. Understøtter ARM C compiler 64 bit integers ?
17. marts 2005 - 09:03
#7
Ja, som 'long long' eller 'unsigned long long'
17. marts 2005 - 09:12
#8
Hvis den understøtter unsigned long long, så kende den vel også ULL !?
17. marts 2005 - 09:15
#9
Det skulle man jo tro :) Men gør Visual C++ 6.0?
17. marts 2005 - 09:29
#10
Nej. Fordi i VC++6 hedder det en _int64 og ikke en long long (og LL er en ulogisk forkortelse for _int64).
17. marts 2005 - 09:30
#11
Men #ifdef er jo opfundet til den slags !
17. marts 2005 - 09:43
#12
Ok. Tak for hjælpen (igen :) ) (Husk svar = point)
17. marts 2005 - 09:45
#13
svar
Kurser inden for grundlæggende programmering