Existe-t-il un moyen d'utiliser une sizeof
macro dans une macro de préprocesseur?
Par exemple, il y a eu une tonne de situations au fil des ans dans lesquelles je voulais faire quelque chose comme:
#if sizeof(someThing) != PAGE_SIZE
#error Data structure doesn't match page size
#endif
La chose exacte que je vérifie ici est complètement inventée - le fait est que j'aime souvent mettre ces types de vérifications au moment de la compilation (taille ou alignement) pour me prémunir contre quelqu'un qui modifie une structure de données qui pourrait désaligner ou ré-aligner dimensionner les choses qui les briseraient.
Inutile de dire que je ne semble pas être en mesure d'utiliser un sizeof
de la manière décrite ci-dessus.