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

Is it possible to view the result of the "C++" preprocessor

本文关键字:预处理 处理器 结果 C++ 是否      更新时间:2023-10-16

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

有没有人知道一个程序,它在预处理后给你cpp文件的结果?

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

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

我尝试了提升::波,但它不起作用。以:使用增压波

有什么提示吗?

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

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

(它是在GNU GPL下授权的;如果你要把它合并到你自己的项目中,请注意。

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

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 ++文件扩展名。