有没有办法知道time_t
预处理器运行时的大小?
我想知道是否time_t
是int32_t
或int64_t
,并且我想在 Linux (POSIX) 和 Windows 下工作(如果可能的话,在 Mac OS/X 下)。它很早就喜欢它,所以我可以做这样的事情:
#if time_t == _32BIT
typedef zint32_t my_time_t;
#else
typedef zint64_t my_time_t;
#endif
我的zint32/64_t
类型自动初始化为零。这对大多数类型都很有效,但time_t
在这一点上存在问题。除非我可以在编译时使用预处理器确定大小。