Memorizzare regex compilati PCRE in C / C ++
Domanda
Esiste un modo efficace per archiviare le regex compilate (compilate tramite regcomp (), PCRE) in un file binario, in modo che in seguito possa semplicemente leggere dal file e chiamare regexec ()?
O è solo una questione di scaricare le strutture compilate regex_t nel file e rileggerle quando necessario?
Soluzione
A meno che tu non abbia un super-complesso regex , difficilmente vedo un vantaggio di serializzare la regex compilata, il tempo di compilazione non dovrebbe essere così grande. A meno che non ti trovi in ??un sistema di incorporamento super stretto?
In ogni caso, effettivamente scaricare la struttura potrebbe essere una soluzione, almeno puoi provare ...
[EDIT] Ho appena guardato la fonte che ho (6.7) e, come temevo, non è così semplice, la struttura inizia con un vuoto * ... Non puoi serializzare i puntatori, devono essere ricalcolati.