Ger*_*ner 0 c++ math obfuscation optimization parsing
为了寻找一个c ++解析器,我最近偶然发现了下面的项目.在其中有一个解析器似乎非常适合我的需求,但我相信作者故意混淆了一些核心代码片段,这使得检查代码有点困难.
https://github.com/ArashPartow/math-parser-benchmark-project/blob/master/fparser/fpoptimizer.cc
文件和作者网站上有一个关于有一个简单的反混淆版本的描述,但是指示的网站似乎只有一个死链接,并且试图联系作者的尝试没有结果.
我想知道其他SOers是否会知道一种快速简便的方法来扭转上述文件中的混淆.
现在我不确定,因为我不是C++专家,但可能是因为代码的存在是合理的原因,可能是因为文件的名称表明它可能是出于性能原因.
大多数编译器都可以选择仅在代码上运行预处理器并生成预处理器输出。这将消除使用#defines.
例如,在 MSVC 中,您可以运行cl /P fpoptimizer.cc. 这将创建一个名为 fpoptimizer.i 的文件,其中包含预处理的文件。
您可以在执行此操作之前删除#includes程序中的 s - 这样只有#define程序中的 s 被预处理,而不是其他东西。
gcc 提供了-E执行类似操作的选项。