Puoi farlo ma solo a livello di preprocessing.il problema è che quindi nn posso usare in queste 2 librerie lo stesso nome sia per lo struct che per le funzioni,bensì chiamarle in maniera diversa!se invece io riuscissi all'interno del main a includere o l'una o l'altra in base all'input di cui parlavo prima,posso tranquillamente usare all'interno delle librerie lo stesso nome anche se sono oggetti diversi!
Questo significa che per cambiare struct devi definire o indefinire la macro e ricompilare.codice:#ifdef QUALCOSA__ #include "a.h" #else #include "b.h" #endif
Ovviamente è necessario SOLO se hai collisioni di nomi.