jcw@cvl.UUCP (07/02/83)
One thing I found out about the Computer Innovations C compiler preprocessor phase when trying to port some of my code that worked on a UN*X C compiler was an inconsistancy in function macros. When you say #define func(x,y) text ... all occurences of the parameters of the strings "x" and "y" in the text are substituted for, not just where identifiers appear. For example, #define debug(f) fprintf(stderr,"%s\n",f) debug("Hello"); would become: "Hello"print"Hello"(stderr,"%s\n","Hello"); which can really screw things up. My advice is to use long names for the formal parameters in a #define, which is unfortunately the opposite of what people are inclined to use. -Jay Weber {...!seismo!rlgvax!cvl!jcw}