Je suis sur le point d'écrire une bibliothèque C++ qui doit être utilisée par une application Windows ainsi que sur Symbian. Linux n'est pas une exigence actuelle mais devrait généralement être possible aussi.
Pour cette raison, je voudrais utiliser les conventions de nommage STL/Boost au lieu de Symbian's, qui je pense, sont difficiles à s'habituer.
Cela semble déjà présenter un problème, lors de la compilation du code avec Carbide.C++ car il applique la convention de nommage Symbian. Comment puis-je utiliser des noms «normaux» tout en restant compatible Symbian?Comment contourner les conventions de dénomination Symbian?
J'ai d'abord pensé à des noms de classe conditionnels pour la plate-forme Symbian, mais je crains que cela ne mène à la confusion.
Pourrait-il y avoir d'autres problèmes en ne respectant pas la convention de dénomination de Symbian?
De quelles conventions s'agit-il? Si c'est forcer les noms de classes à commencer par C, alors c'est assez faux et si vous ne pouvez pas le désactiver, n'utilisez pas Carbide. Vous devrez écrire vos propres fichiers mmp, mais ce n'est pas la fin du monde. Si c'est juste signaler des fonctions de sortie, alors c'est exact, votre API client multi-plateforme ne devrait pas partir, devrait-il? Ou va-t-il être documenté, "cette fonction part sur Symbian mais jette une exception sur Windows"? Je pense que c'est une mauvaise idée: il suffit d'offrir deux interfaces à votre bibliothèque si le comportement est différent. –
En fait, je ne sais pas quelles conventions elle applique. Mon collègue, qui ferait des choses spécifiques à Symbian, m'a dit que nous ferions mieux de nous conformer à la convention, sinon des choses étranges pourraient se produire. Il n'est pas non plus un expert de Symbian. Nous essayons simplement de réutiliser du code qui fonctionne déjà sur Symbian et de le rendre utilisable ailleurs. – foraidt