The C preprocessor in other compilers has seen some improvements over the years. Maybe you could freshen the CVI one up a little bit. With most modern C compilers there are some pretty advanced things that can be done in the preprocessor. But include those header files into a CVI project, and you start getting errors in the strangest places. And the cause of these isn't even some nasty trick, but pretty basic stuff for any other preprocessor.