This is output from `defines' version 4.1.1, from your buddies at Newtware! Sun Apr 15 16:08:04 HKT 2012 BSD/OS bsdi41.localdomain 4.1 BSDI BSD/OS 4.1 Kernel #0: Thu Nov 18 15:10:44 MST 1999 polk@hephaestus.BSDI.COM:/hrel/proto/4.1-i386/usr/src/sys/compile/GENERIC i386 cc = [cc] __BASE_FILE__ = "/tmp/def3087.c" __DATE__ = "Apr 15 2012" __ELF__ = 1 __FILE__ = "/tmp/def3087.c" __GNUC_MINOR__ = 91 __GNUC__ = 2 __HAVE_BUILTIN_SETJMP__ = 1 __IMMEDIATE_PREFIX__ = __INCLUDE_LEVEL__ = 0 __LINE__ = 11585 __PTRDIFF_TYPE__ = int __REGISTER_PREFIX__ = __SIZE_TYPE__ = unsigned int __STDC_VERSION__ = 199409L __STDC__ = 1 __TIME__ = "16:08:07" __USER_LABEL_PREFIX__ = __VERSION__ = "egcs-2.91.66 19990314 (egcs-1.1.2 release)" __WCHAR_TYPE__ = int __bsdi__ = 1 __i386 = 1 __i386__ = 1 bsdi = 1 i386 = 1 unix = 1 Checking other possibilities; should already be listed above: __DATE__ = "Apr 15 2012" __FILE__ = "/tmp/def3087.c" __GNUC__ = 2 __LINE__ = 25 __STDC__ = 1 __TIME__ = "16:08:07" 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