This is output from `defines' version 4.1.1, from your buddies at Newtware! Tue Mar 27 12:32:29 HKT 2012 SCO_SV scosysv 3.2 5.0.7 i386 cc = [gcc] M_I386 = 1 M_UNIX = 1 M_XENIX = 1 _M_BITFIELDS = 1 _M_I386 = 1 _M_I86 = 1 _M_I86SM = 1 _M_INTERNAT = 1 _M_SDATA = 1 _M_STEXT = 1 _M_SYS5 = 1 _M_SYSIII = 1 _M_SYSV = 1 _M_UNIX = 1 _M_WORDSWAP = 1 _M_XENIX = 1 _SCO_C_DIALECT = 1 _SCO_DS = 1 _SCO_ELF = 1 _SCO_XPG_VERS = 4 _STRICT_NAMES = 1 __FILE__ = "/tmp/def969.c" __GNUC_MINOR__ = 95 __GNUC__ = 2 __LINE__ = 17483 __STDC__ = 1 __i386 = 1 __i386__ = 1 __i586 = 1 __i586__ = 1 __pentium = 1 __pentium__ = 1 __unix = 1 i386 = 1 i586 = 1 pentium = 1 unix = 1 Checking other possibilities; should already be listed above: __DATE__ = "Mar 27 2012" __FILE__ = "/tmp/def969.c" __GNUC__ = 2 __LINE__ = 25 __STDC__ = 1 __TIME__ = "12:32:31" Sizes of basic variable types: sizeof(char) = 8 bits sizeof(short) = 16 bits sizeof(int) = 32 bits sizeof(long) = 32 bits sizeof(float) = 32 bits sizeof(double) = 64 bits sizeof(long double) = 96 bits sizeof(char *) = 32 bits sizeof(char (*)(char)) = 32 bits