To: linux-8086@vger.rutgers.edu Cc: linux-8086@vger.rutgers.edu From: vern@zebra.alphacdc.com (vern) Date: 13 Jul 97 16:32:40 MDT (Sun) Newsgroups: linux.dev.8086 Perry Harrington wrote: > /* now, the "sizeof" command is a compiler preprocessor usually, > it looks in it's symbol table for the size of the > data item and replaces the call with a constant, this > works because structs can't be declared at runtime. My copy of ANSI C lists 'sizeof' as a C operator, not a preprocessor operator. The only operators used in the preprocessor are the 'defined', '#' (stringify) and '##' (paste) operators. Macro substitution does not even perform addition or subtraction of constants. #define ONE 1 printf( "%d", ONE + 1 ); results in: printf( "%d", 1 + 1 ); to the compiler. They specifically state that: #define ZERO (1-1) is not the same as: #define ZERO (0) vern Vernon C. Hoxie scicom!zebra!vern 3975 W. 29th Ave. vern@zebra.alphacdc.com Denver, Colo., 80212 uucp: 303-455-2670 voice: 303-477-1780 Unix is what MSDOS will be when it grows up.
From Unofficial Linux-8086 Mailing List Archive (ULMLA)
Maintained by Robert
Robert's Mailing List Archive Page
Archive created with babymail