Avatar billede thomas_fogh Nybegynder
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?
Avatar billede arne_v Ekspert
17. marts 2005 - 08:22 #1
ULL må være unsigned long long

hvilken compiler bruger du ?
Avatar billede thomas_fogh Nybegynder
17. marts 2005 - 08:25 #2
Jeg bruger Visual C++ 6.0
Avatar billede arne_v Ekspert
17. marts 2005 - 08:29 #3
#define UINT64_HILO(high,low) (((((_int64)high)<<32)|low)

måske
Avatar billede arne_v Ekspert
17. marts 2005 - 08:30 #4
Men jeg er bange for at der skal laves mere kode om !
Avatar billede thomas_fogh Nybegynder
17. marts 2005 - 08:42 #5
Fik jeg sagt at koden senere skal kompileres med en ARM compiler...
Avatar billede arne_v Ekspert
17. marts 2005 - 08:59 #6
Nej.

Understøtter ARM C compiler 64 bit integers ?
Avatar billede thomas_fogh Nybegynder
17. marts 2005 - 09:03 #7
Ja, som 'long long' eller 'unsigned long long'
Avatar billede arne_v Ekspert
17. marts 2005 - 09:12 #8
Hvis den understøtter unsigned long long, så kende den vel også ULL !?
Avatar billede thomas_fogh Nybegynder
17. marts 2005 - 09:15 #9
Det skulle man jo tro :)
Men gør Visual C++ 6.0?
Avatar billede arne_v Ekspert
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).
Avatar billede arne_v Ekspert
17. marts 2005 - 09:30 #11
Men #ifdef er jo opfundet til den slags !
Avatar billede thomas_fogh Nybegynder
17. marts 2005 - 09:43 #12
Ok. Tak for hjælpen (igen :) )

(Husk svar = point)
Avatar billede arne_v Ekspert
17. marts 2005 - 09:45 #13
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester