Projects / ucpp


ucpp is a C preprocessor. It is designed to be quick and light, but still fully compliant to the ISO standard 9899:1999, also known as C99. ucpp can be compiled as a stand-alone program or linked to some other code; in the latter case, ucpp will output tokens, one at a time, on demand, as an integrated lexer. ucpp operates in two modes: in lexer mode, ucpp is linked to some other code and outputs a stream of tokens where each call to the lex() function will yield one token; in non-lexer mode, ucpp preprocesses text and outputs the resulting text to a file descriptor. If linked to some other code, the cpp() function must be called repeatedly, otherwise ucpp is a stand-alone binary.

Operating Systems

Recent releases

  •  09 Aug 2011 05:18

    Release Notes: A problem was fixed in which included files missing a "terminating carriage return character" would interrupt preprocessing in sample.c/LEXER mode.

    •  29 Jul 2011 07:42

      Release Notes: An issue was fixed in which "\r\n" carriage return characters were counted twice. Included files missing a "carriage return character" will no longer interrupt preprocessing. The problem where STD_MACROS and STD_ASSERTS were undefined when trying to build ucpp -DSTAND_ALONE was fixed. ucpp and libucpp are built with "make", by default.


      Project Spotlight


      A Fluent OpenStack client API for Java.


      Project Spotlight

      TurnKey TWiki Appliance

      A TWiki appliance that is easy to use and lightweight.