目前我正在使用我的C-Interpreter。现在我想优化一点。扩展宏的最快方法是什么?例如:我浏览完整个代码并找到一个类似对象的宏。从源文件中的这一点开始,我必须通过完整的翻译单元(不仅是当前文件),并且必须使用宏名称搜索标识符并将其替换为替换列表。如果我有20个宏,我必须扫描20次。这是一个致命的性能杀手。有谁知道其他预处理器如何处理宏扩展?
答案 0 :(得分:1)
对于此类查找,您可以使用 HashMap ,或 Map 或 Binary Tree 。
HashMap更易于使用,如果您使用C ++,则可以使用a STL hash_map