是否可以查看“C ++”预处理器的结果

时间:2013-09-17 15:34:53

标签: c++ c-preprocessor

我正在尝试用python(PLY)编写一个小的C ++解析器,只覆盖整个C ++特性的一小部分(没有模板,没有指针,没有操作重载)。我目前有很多适用于代码片段的东西,但不适用于整个C ++项目。 所以我最大的问题是处理C ++预处理器(包括,定义,替换,ifdef,......)。

有人知道一个程序,它会在预处理后为你提供cpp文件的结果吗?

可以从python调用的东西是完美的。

我知道大多数编译器都可以使用它,但我不想在我的小解析器中包含另一个编译器。

我尝试过boost :: wave但它没有用。因为 : Using boost wave

任何提示?

2 个答案:

答案 0 :(得分:2)

GNU C preprocessor可作为单独的程序使用。它适用于C和C ++(以及Objective-C)。

在我的系统上,它安装为/usr/bin/cpp

(它是根据GNU GPL许可的;注意你是否要将它合并到你自己的项目中。)

答案 1 :(得分:-4)

您需要添加以下命令来添加更多库文件。

Sudo apt-get install libboost -alt-dev emake subversion
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install build-essential
Bcc -v
Make -v
Sudo apt-get install git

然后你需要重启。 这适用于.cpp .C .cpp c ++文件扩展名。