2010-08-12 4 views

Répondre

2

Le GCC (echo '#include <time.h>' | gcc -E -):

__extension__ typedef long int __time_t; 
typedef __time_t time_t; 

détails de la plate-forme:

Linux stanley 2.6.32-24-generic-pae #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010 i686 GNU/Linux 
+0

printf ("% i", sizeof (time_t)); – nacho4d

+4

@ nacho4d N'utilisez pas '% i' pour imprimer la valeur de' sizeof'. Utilisez '% zu' (C99) ou'% lu' et convertissez la valeur en 'unsigned long' (portable). – schot

2

Utilisez sizeof(time_t); pour déterminer la taille en octets. Multipliez ensuite ce nombre par des bits par octet (généralement 8, mais cela dépend de votre HW).

+1

Astuce: si vous développez avec Microsoft Visual C++, vous pouvez utiliser '#define _USE_32_BIT_TIME_T' pour forcer time_t à être de 4 octets. – Robert

2

de la norme C99 (7.23.1):
"La portée et la précision des temps représentables dans clock_t et time_t sont mise en œuvre dé fi nie." Du point de vue standard, il peut s'agir d'un nombre entier, d'un nombre à virgule flottante, d'un codage Huffman, etc. En pratique, sur la plupart des systèmes UNIX, il s'agit d'un entier non signé de 32 ou 64 bits signifiant le nombre de secondes depuis l'époque UNIX. (à minuit, le 1er janvier 1970).

Questions connexes