現在、私は C インタープリターに取り組んでいます。ここで、少し最適化したいと思います。マクロを展開する最速の方法は何ですか? 例: コード全体を調べて、オブジェクトのようなマクロを見つけました。ソース ファイルのこの時点から、(現在のファイルだけでなく) 完全な翻訳単位を調べて、マクロ名で識別子を検索し、それを置換リストに置き換える必要があります。20 個のマクロがある場合、20 回スキャンする必要があります。それは致命的なパフォーマンスキラーです。他のプリプロセッサがマクロ展開をどのように処理するか知っている人はいますか?
1 に答える
1
このようなルックアップには、 HashMap、またはMap、またはBinary Treeを使用できます。
HashMap は使いやすく、C++ を使用している場合は、STL の hash_mapを使用できます。
于 2012-10-24T21:42:01.797 に答える