Pourquoi avez-vous dit « simple » et « sourd-muet » ?
J'ai les réponses pour vous - beaucoup de réponses. Les voici :
http://webcache.googleusercontent.com/search?q=cache:xv771GQfYxIJ:www.allinterview.com/showanswers/32404.html+C+what+determines+size+of+int&cd=4&hl=en&ct=clnk&gl=usAprès que lisant les réponses, je donnerai mon avis…
Mais d'abord, parce que votre interprétation est un extrait de l'édition de norme ANSI 2ème de langage de programmation de C par K&R :
le « international sera normalement la taille normale pour une machine particulière. … Chaque compilateur est libre pour choisir la taille appropriée pour son propre matériel, le sujet seulement o que la restriction que les shorts et les ints sont au moins 16 bits, désire ardemment sont au moins 32 bits, et court est plus que l'international, qui est plus que longtemps. »
Ma réponse…
C'est le compilateur, pas l'OS, pas l'unité centrale de traitement, pas la mémoire, pas le panneau.
En tous cas, si vous vous inquiétez de la taille, puis vous devrait ne jamais employer l'international. Je ne dis jamais rarement. C'est un cas. Il est CORRECT pour quelques compteurs simples de pour-boucle. Vous pouvez définir votre propre dossier d'user_types.h qui fait un typedef pour uint32, uint16, uint8, sint32, sint16, et sint8 ; et si c'est approprié, uint24, uint64, sint24 et sint64. Alors comme vous vous déplacez d'un processeur à l'autre, juste #if défini (PROCESSOR_NAME) pour obtenir le typedef correct pour cette plate-forme. Je ne compterais pas sur les types 64-bit de nombre entier cependant puisqu'il peut ne pas y a un équivalent dans votre compilateur.