J'ai un peu de code de sérialisation de bas niveau qui est modélisé, et j'ai besoin de connaître l'endianness du système à compiletime évidemment (parce que les modèles se spécialise basé sur l'endianness du système).Existe-t-il un moyen de faire une assertion à la compilation de style C++ pour déterminer l'endianness de la machine?
En ce moment j'ai un en-tête avec une certaine définition de plate-forme, mais je préférerais faire des assertions sur l'endianness avec un test basé sur un modèle (comme static_assert ou boost_if). Raison d'être mon code devra être compilé et exécuté sur un large éventail de machines, de nombreux fournisseurs spécialisés, et probablement des appareils qui n'existent pas en 2008, donc je ne peux pas vraiment deviner ce qui pourrait avoir besoin d'aller dans cette tête d'années en bas de la route. Et puisque le code-base a une durée de vie prévue d'environ 10 ans. Donc je ne peux pas suivre le code pour toujours.
J'espère que cela clarifie ma situation.
Alors, est-ce que quelqu'un connaît un test de compilation qui peut déterminer l'endianness, sans s'appuyer sur des définitions spécifiques au fournisseur?
Merci, c'est une bonne astuce. Et je pense que je peux l'appliquer avec un peu de réingénierie. pas encore sûr, mais c'est une bonne avance. –