سؤال
في Visual Studio ، يمكنني إجبار استخدام 32 بت من الوقت عن طريق إعلان _use_32bit_time_t هل هناك ما يعادل مماثل لـ GCC؟ أم أنها دائما 32 بت أم أنها دائما 64 بت؟
المحلول
ال time_t
لا يتم تعريف النوع بواسطة GCC بل بواسطة مكتبة النظام. على Linux ، هذا هو glibc ، ويحدد time_t
في time.h
رأس:
typedef __time_t time_t;
الذي بدوره محدد في bits/types.h
:
__STD_TYPE __TIME_T_TYPE __time_t;
(__STD_TYPE
التعريف غير مثير للاهتمام) ،
__TIME_T_TYPE
تم تعريفه في bits/typesizes.h
:
#define __TIME_T_TYPE __SLONGWORD_TYPE
الذي بدوره محدد في bits/types.h
:
#define __SLONGWORD_TYPE long int
وهو 32 بت على نظام 32 بت ، 64 بت على 64 بت. كل هذه التعريفات غير مشروطة ، لذلك ، لا _USE_32BIT_TIME_T
ما يعادل GLIBC.
لا تنتمي إلى StackOverflow