Sto lavorando su una libreria che contiene un numero elevato di componenti con spazi dei nomi annidati. Inoltre, quando viene aggiunto un nuovo modulo all'interno della libreria, è necessario aggiungere lo spazio dei nomi e, a volte, questo spazio dei nomi può cambiare e quindi diventa fatale da mantenere.
Ho pensato a una soluzione oa un approccio per risolvere questo problema e ho trovato questa idea:
L'approccio ottimale sarebbe avere un file .h
contenente tutti gli spazi dei nomi:
namespace Config {
namespace PCA = LibraryName::Statistical::Components::PCA;
}
E poi posso includere questo file di configurazione nella voce principale dell'applicazione ..
Ma, come sono arrivato a questo punto, ho problemi a raggiungere. Quindi ecco il mio processo di pensiero:
Se creo un% co_de "precompilato" che contiene qualcosa di simile (la sintassi non è corretta, ma vorrei analizzarla)
namespace Config {
"aliases" = [
"PCA" => "LibraryName::Statistical::Components::PCA"
];
}
Quindi, in qualche modo all'interno del Makefile analizza questa sintassi e genera un file .h, con gli alias al suo interno e quindi funzionerebbe .. Ma non so se questo è possibile con un Makefile?
Il secondo approccio, sarebbe quello di creare un comando shell, sulle linee di: Config.h
che poi analizza questo file di configurazione e quindi genera il build_config
da utilizzare nella voce del programma?
In alternativa, posso usare JSON e analizzare il JSON usando uno dei precedenti ..
Qualcuno può darmi qualche indicazione su quale approccio sarebbe meglio per questo, inoltre, questo sta solo causando problemi inutili?
ANCHE: Una serie di client / utenti ha anche chiesto la possibilità di cambiare gli alias dello spazio dei nomi ..