Comment encapsuler les fonctions de la bibliothèque glibc pour utiliser automatiquement ‘unsigned char’ et ‘wchar_t’?

J’utilise toujours char comme char unsigned char et wchar_t comme wint_t . Etant donné cela, existe-t-il une solution pour changer les interfaces de fonctions afin d’utiliser ces types avec ou sans recompilation de la glibc? Voir aussi cette question: Comment changer wchar.h pour que wchar_t soit du même type que wint_t?

Vous pouvez passer une option de ligne de commande au compilateur pour que char non signé par défaut. Changer l’interface aux fonctions de bibliothèque standard en redéfinissant char avec des macros et des typedefs n’est pas la bonne façon d’atteindre votre objective.

Pour gcc et clang, utilisez -funsigned-char .

Pour Visual-C ++, utilisez -J ou /J

Le type de caractère large wchar_t est spécifique au système, il est généralement de 32 bits de large sur les systèmes linux et où que la glibc soit utilisée, mais de 16 bits seulement pour les outils de Microsoft pour des raisons historiques. Changer ce type causera des problèmes de compatibilité entre le compilateur et les bibliothèques, n’y pensez même pas.