Pregunta

en Visual Studio puedo forzar el uso del time_t 32 bits declarando _USE_32BIT_TIME_T hay un equivalente similar para gcc? o es siempre de 32 bits o es siempre 64 bits?

¿Fue útil?

Solución

El tipo time_t no se define por gcc sino más bien por la biblioteca del sistema. En Linux, esto es glibc, y se define en la cabecera time_t time.h:

typedef __time_t time_t;

que a su vez define en bits/types.h:

__STD_TYPE __TIME_T_TYPE __time_t;

(definición __STD_TYPE no es interesante),

__TIME_T_TYPE se define en bits/typesizes.h:

#define __TIME_T_TYPE __SLONGWORD_TYPE

que a su vez define en bits/types.h:

#define __SLONGWORD_TYPE long int

que es de 32 bits en el sistema de 32 bits, 64 bits en el sistema de 64 bits. Todas estas definiciones son incondicionales, así, no _USE_32BIT_TIME_T equivalente en glibc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top