是否有独立的C ++源预处理器?

是否有独立的C ++预处理器? 我不需要编译器/链接器,我不能安装一个完整的工具包。

我希望能够获得一些头的预处理版本,使用一些定义和包括我提供的path。

编辑:我不能依靠任何可用。 没有CL ,没有GCC ,什么都没有。 至less我需要做的是处理macros(特别是#ifdef和#if)。

编辑:我在Windows XP电脑上使用这个。

Solutions Collecting From Web of "是否有独立的C ++源预处理器?"

CPP是你在找什么。 不过,我不确定它是否可以在gcc发行版之外获得

CPP(1) GNU CPP(1) NAME cpp - The C Preprocessor SYNOPSIS cpp [-Dmacro[=defn]...] [-Umacro] [-Idir...] [-Wwarn...] [-M|-MM] [-MG] [-MF filename] [-MP] [-MQ target...] [-MT target...] [-P] [-fno-working-directory] [-x language] [-std=standard] infile outfile Only the most useful options are listed here; see below for the remainder. DESCRIPTION The C preprocessor, often known as cpp, is a macro processor that is used automatically by the C compiler to transform your program before compilation. It is called a macro processor because it allows you to define macros, which are brief abbreviations for longer constructs. 

许多编译器都有一个命令行选项,可以做你想做的事情。

例如,GCC的是-E ,MSVC是/P

你可能想看看Boost Wave 。 它是一个构建为库而不是应用程序的预处理器,但是将其包装起来以将其变成独立程序应该是相当平凡的(大部分你要做的是连接事物,以便知道什么文件读取和写入)。

你可能想看看GPP,通用预处理器 。 它是可定制的,但它看起来像预定义的设置将进行C / C ++预处理。

编辑:看起来像-C是使用的设置

-C cpp兼容模式。 这是gpp行为最接近于> cpp的模式。 与默认模式不同,元宏扩展仅在>行的开始处出现,并且可以理解C注释和字符串。

http://mcpp.sourceforge.net/

mpp便携式c预处理器:

mcpp项目入选日本信息技术促进局(IPA)2002年“探索性软件项目”之一,2003年再次入选项目。 对于该项目的成就,作者被评为“最高级程序员之一”

我想你可以尝试使用独立库cpplib来构建自己的应用程序,但是当它们提供它时,他们不建议使用它,因为它“还没有达到合理的稳定性”。 我不知道这是多久了。

通常,C ++编译器提供了一个选项来查看预处理的源代码。

有了GCC,就可以使用:

 g++ -E ...other options... files 

在某些系统上,特别是在Unix系统上,可能会有一个单独的'cpp'程序。 在MacOS X上,它安装为/ usr / bin / cpp,并且是GCC(GNU编译器集合)的一部分。

有时候,它被安装在更多的地方 – 例如,在Solaris 10上,它是/ usr / lib / cpp。