2012-10-24 144 views
0

目前我工作在我的C-Interpreter上。现在我想优化一点。什么是扩展宏的最快方法?例如:我浏览整个代码并找到一个像对象一样的宏。从源文件中的这一点开始,我必须浏览完整的翻译单元(不仅是当前文件),而且必须搜索具有宏名称的标识符并将其替换为替换列表。如果我有20个宏,我必须扫描20次。这是一个致命的性能杀手。有谁知道其他预处理器如何处理宏扩展?快速宏扩展

+0

看看预处理程序是如何扎成在锵词法分析器。您甚至不需要这种单独的预处理步骤 - 它将在标记化过程中进行。 –

回答

1

对于这样的查询,你可以使用 HashMap的,或地图,或二叉树

HashMap中更容易使用,如果你使用C++,你可以使用a STL hash_map