我在Perl中负责C代码解析器。目前我需要对代码进行预处理。实现预处理似乎需要很多工作,因此我正在寻找一个脚本或库,可以允许对文件进行预处理。我发现以下几种可能性:
这两个都需要cpp,而我在Windows机器上没有它。还有其他选择吗?
我不确定我理解您的需求,但您是正确的,自行实现可能并不明智。我最近也在寻找替代C预处理器。
Text::CPP模块只需要编译器来编译自身。如果您可以找到一个预编译版本,它应该可以为您工作。
由同一作者编写的JCPP Java C Preprocessor 可能可以工作。您可能需要进行外部处理,然后加载结果。
Filepp是一个较旧的Perl程序,声称具有CPP兼容性。有一个预编译的Windows二进制文件可供下载。
还有一个全新的Lua C-Preprocessor LCPP可能是您可以使用的东西。最好作为独立的应用程序,但您可能可以使用Inline::Lua。
SWIG附带了自己的预处理器实现。我假设这将适用于Windows。
还有什么?Boost Wave Preprocessor可能效果很好,并且可用于Windows。MSVC编译器可以预处理到文件。
Text::CPP
表示它需要一个可用的 C 编译器
。 - devnull-save-temps
选项... - Alex