gcc的_USE_32BIT_TIME_T等效项

dfddblmv  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(129)

在Visual Studio上,我可以通过声明_USE_32BIT_TIME_T来强制使用32位time_t。是否有与gcc类似的等价物?还是总是32位还是总是64位

oyt4ldly

oyt4ldly1#

time_t类型不是由gcc定义的,而是由系统库定义的。在Linux上,这是glibc,它在time.h头文件中定义了time_t

typedef __time_t time_t;

字符串
它又被定义为bits/types.h

__STD_TYPE __TIME_T_TYPE __time_t;


__STD_TYPE定义不感兴趣),
__TIME_T_TYPEbits/typesizes.h中定义为:

#define __TIME_T_TYPE __SLONGWORD_TYPE


它又在bits/types.h中定义:

#define __SLONGWORD_TYPE long int


在32位系统上是32位,在64位系统上是64位。所有这些定义都是无条件的,所以在glibc上没有_USE_32BIT_TIME_T等价物。

相关问题