4

コンパイルされた正規表現 (regcomp()、PCRE 経由でコンパイル) をバイナリ ファイルに保存して、後でファイルから読み取って regexec() を呼び出すことができる効率的な方法はありますか?

それとも、コンパイルされた regex_t 構造体をファイルにダンプし、必要に応じて読み戻すだけの問題ですか?

4

1 に答える 1

4

超複雑な正規表現がない限り、コンパイルされた正規表現をシリアル化する利点はほとんどわかりません。コンパイル時間はそれほど長くないはずです。超タイトな組み込みシステムを使用していない限り、

いずれにせよ、確かに構造をダンプすることは解決策かもしれません、少なくともあなたは試すことができます...
[編集]私はちょうど私が持っているソース(6.7)を見ました、そして私が恐れていたように、それはそれほど単純ではありません、構造はで始まりますvoid*...ポインタをシリアル化することはできません。ポインタを再計算する必要があります。

于 2008-10-10T20:51:50.360 に答える