------------------------------------------------------------------------------ ex.: macro to free+nullify an object how to put a block of code in CPP #define BLOCK S1;S2;S3 w/ or w/o terminating ';'? odd/ugly if you don't have to put terminating ';' indentation problems with emacs and /bin/indent problem: if (c) BLOCK #define BLOCK {S1;S2;S3;} problem: if (c) BLOCK #define BLOCK do {S1;S2;S3;} while (0) works everywhere inline functions ------------------------------------------------------------------------------ * HW3 shell scripts to test for features - collecting info in config.h - testing headers - testing functions - testing C features - testing CPP features - temp files * Testing features testing features, eg getitimer() and time headers wrapper shell script: if [ -f /usr/include/...]; then gcc -DFOO_BAR fi how can you find out if you can include both time.h and sys/time.h what about systems that have neither?