Modifier les fonctions utilisé à la précompilation
Bonjours,
J'ai fait des modifications pour un projet open source.
Actuelement, le programme (ou plutôt jeu) affiche du texte sur la console grâce a :
info->AddLine("xxx"); et *info << "xxx";
Mes modifications m'oblige à les changer respectivement en :
guicontroller->AddText("xxx"); et *guicontroller << "xxx"
Mais comme les développeurs veulent que je fasse le moins de modifications possible à leur code et que je garde la compatibilité avec ce qu'ils ont maintenant, j'utilise #define NEW_GUI , puis #ifdef NEW_GUI ou j'en ai besoin.
Malheureusement, comme info->AddLine et *info sont utilisé partout dans le code, utiliser des #ifdef partout rendrait le tout illisible.
J'ai donc éssayer :
Code:
1 2 3 4 5
|
#ifdef NEW_GUI
#define info->Addline(x) guicontroller->AddText(x)
#define *info *guicontroller
#endif |
Mais cela ne marche pas. (je ne m'y connais pas beaucoup en précompilation.)
Peut-être que #define AddLine(x) guicontroller->AddText(x) pourrai marcher, mais cela ne m'arrange pas car je devrais modifier le code a beaucoup d'endroits. Et cela ne marcherait de toute facon pas pour #define *info *guicontroller
J'aimerai juste que le précompilateur remplace le texte de gauche par celui de droite.
Est-ce que je demande est possible , ou doit-je chercher une autre solution?
Merci