Salut!![]()
Dans le header "limits.h" on trouve:
Or sous Windows XP avec DevC++, donc avec gcc, l'appel à ces constantes est impossible, donc une des conditions n'est pas valide, c'est "__STRICT_ANSI__", qui est définie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #if !defined(__STRICT_ANSI__) && defined(__GNUC__) #define LONG_LONG_MAX 9223372036854775807LL #define LONG_LONG_MIN (-LONG_LONG_MAX-1) #define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1) /* ISO C9x macro names */ #define LLONG_MAX LONG_LONG_MAX #define LLONG_MIN LONG_LONG_MIN #define ULLONG_MAX ULONG_LONG_MAX
De plus le formateur "%ll" n'est pas reconnu.
En revanche la déclaration d'un "long long int n" ne pose pas de problème et "sizeof n*CHAR_BIT" renvoie bien 64.
Que peut on en conclure quand à l'utilisation des "long long int" dans ce contexte?
Merci de vos réponses.![]()
Partager