text: Is there an easy way to remove comments from a C/C++ source file without doing any preprocessing. (ie, I think you can use gcc -E but this will expand macros.) I just want the source code with comments stripped, nothing else should be changed.
  EDIT:
  Preference towards an existing tool. I don't want to have to write this myself with regexes, I foresee too many surprises in the code.
  Run the following command on your source file:
  gcc -fpreprocessed -dD -E test.c
  Thanks to KennyTM for finding the right flags. Here’s the result for completeness:
  test.c:
  #define foo bar foo foo foo #ifdef foo #undef foo #define foo baz #endif foo foo /* comments? comments. */ // c++ style comments
  gcc -fpreprocessed -dD -E test.c:
  #define foo bar foo foo foo #ifdef foo #undef foo #define foo baz #endif foo foo