Platformlar bir 8-bit char daha başka ne var?
Her şimdi ve sonra, birisi char
(aka 'byte') isn't necessarily 8 bits dikkat çekiyor.
8-bit char
neredeyse evrensel gibi görünüyor. Ana akım platformlar için, bir 8-bit char
gereklidir bu piyasada canlılık sağlamak için düşünmüştüm.
Hem şimdi hem de tarihsel olarak, 8 bit olmayan char
Ne ve neden dan bir farkı olur onlar "normal" 8 bit?
Kod yazma, ve çapraz platform desteği (genel kullanım kütüphaneleri gibi) düşünmeye zaman, ne tür bir bedel olmayan 8-bit platformları char
vermeye değer mi?
Hangi char
bazı Analog Devices DSP rastladım geçmişte 16 bit. DSP sanırım niş bir mimari biraz. (Sonra tekrar, el-kodlu çevirici gerçekten bu platform üzerinde C ile çok fazla deneyim elde edemedim, bu yüzden mevcut C derleyicileri neler yapabileceğini kolayca yendi.)
CEVAP
char
da OMAP2 örneğin açık olan Texas Instruments C54x, DSP, 16 bit. Diğer DSP orada 16 ve 32 bit char
ile vardır. Ben bile 24-bit DSP bir önceden duymuştum, ama, belki de hayal gördüğümü hatırlamıyorum.
Başka bir göz POSIX görev CHAR_BIT == 8
. Eğer öyleyse POSIX kullanıyorsanız bu kabul edilebilir. Eğer birisi daha yakın bir uygulama POSIX kodunuzu limana ihtiyacı varsa, bu çok kullandığınız işlevlere ama farklı bir boyuta sahip oluyor kötü şans char
,.
Genel olarak, olsa da, hemen hemen her zaman bunu düşünmek için daha çok soruna geçici bir çözüm bulmak için daha kolay olduğunu düşünüyorum. Sadece yazın CHAR_BIT
. Eğer 8 bit tam bir tip istiyorsanız, int8_t
kullanın. Kodunuzu gürültüyle bir sunamayan uygulamaları derlemek için, sessizce beklemiyordun bir boyut yerine başarısız olur. Eğer danışmak için iyi bir nedenim vardı bir olgu vurursam en azından, o zaman bunu iddia ediyorum.
HLists dizilerini yazma dolambaçlı bir...
Daha temiz bir yaklaşım için pek çok &...
EĞER daha iyi-daha BAŞKA bir performan...
Daha sonra bunları açmak Tutulması sek...
Bu daha iyi bir alternatif 'tür g...