この HP-UX 11.31(IA64) で long 型と time_t 型が 4 バイト サイズであることを知って驚いています。どういうことなんですか?
私の環境:
$ uname -a
HP-UX bdev1 B.11.31 U ia64 0999202893 unlimited-user license
$ cat /usr/include/sys/_time_t.h
......
# ifndef _TIME_T
# define _TIME_T
# ifdef _KERNEL
typedef int32_t time_t;
# else /* !_KERNEL */
_NAMESPACE_STD_START
typedef long time_t;
_NAMESPACE_STD_END
# endif /* !_KERNEL */
# endif /* _TIME_T */
私のコード:
$ cat sizeof.cpp
#include <iostream>
#include <ctime>
#define PRINT_SIZE(a) \
std::cout << #a << ": " << sizeof(a) << std::endl
int main(void)
{
PRINT_SIZE(long);
PRINT_SIZE(time_t);
return 0;
}
$ aCC sizeof.cpp
$ ./a.out
long: 4
time_t: 4
time_t を aCC で 64 ビットにする方法を見つけるのを手伝ってくれる人はいますか?