Platformdan bağımsız olması beklenen büyük bir proje üzerinde çalışmaya başladım, ancak aslında uygulamada char
gibi tanımlanmış türleri kullanıyor. Bazı aygıtlar için varsayılan olarak signed
, unsigned
için ise, bazı sorunlar nedeniyle, bu zaten bazı sorunlara neden olmuştu.Platform bağımsız kodunda uygulama tanımlı türlerden kaçının
Platform tanımlı olması gereken kodda uygulama tanımlı türlerin kullanılmasını önlemek için bir çözüm bulmak istiyorum.
- En iyi çözüm ne olurdu? Tüm değişkenleri
unsigned char
(veyasigned char
) olarak derleyici parametrelerini (ex: -funsigned-char),typedef
s veya diğerlerini kullanarak yeniden tanımlamak? - Standart, imzalanmış veya imzasız olup olmadığını tanımlayamayan başka türleri var mı?
https://tr.wikibooks.org/wiki/C_Programming/inttypes.h –
'char' imzası platform değil, ancak derleyici tanımlıdır. Yani '1'de listelenen herhangi biri yapacağız. Ama açık tip beyanıyla giderdim. 2) Hayır (standart yerleşik tipler için). –
@EugeneSh. "Platform" genellikle derleyiciyi de içerir :) –