Why du ”den enkla” något att säga och ”förstummade”?
Jag har svaren för dig - många svar. Här de är:
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=usGe min åsikt…, efter läsning svaren, mig ska,
Men först, for din tolkning är ett utdrag från för språkANSI 2nd för C den programmera upplagan vid K&R:
”int som normalt ska, är det naturligt storleksanpassar för en detalj bearbetar med maskin. … Varje kompilator är fri att välja anslår storleksanpassar för dess egna maskinvara, betvingar endast nolla som begränsningen, som kort stavelse och ints är åtminstone 16 bitar, longs är åtminstone 32 bitar, och kort stavelse är ej längre än int, som är ej längre än long.”,
Mitt svar…,
Det är kompilatorn, inte OSet, inte CPUen, inte minnet, inte stiga ombord.
I något fall, om du att bry sig om storleksanpassa, då dig bör aldrig använda int. Sällan något att säga I aldrig. Detta är ett fall. Det är REKO för något enkelt för-kretsar kontrar. Du kan definiera din egna user_types.h sparar som gör en typedef för uint32, uint16, uint8, sint32, sint16 och sint8; och om tillämpbart, uint24, uint64, sint24 och sint64. Därefter som dig flyttning från en processor till another, precis #if som definieras (PROCESSOR_NAME) för att få typedefen korrekt för den plattform. Jag skulle för att inte rely på 64 bet heltaltyper though, sedan det inte kan finnas en motsvarighet i din kompilator.