Yazım yöntemlerinin ortak bir kullanımı, bir değişkenin amacının arkasındaki depolama yapısını yeniden tanımlamaksızın bir değişkenin daha iyi bir fikrini iletmek için bir değişkenin "türünü" etkinleştirmektir. Bununla birlikte, bir seferde bir değişkenler sınıfı için depolama yapısını değiştirmenin bir yolu olarak da yazım hataları görüyorum. ÖrneğinYazılı ve baskı formatı belirteçleri
, I char
veya uint64_t
için uint32_t
kod-baz geçiş
typedef uint32_t my_offset_t
tanımlar ve tip my_offset_t
değişkenleri varsa bir satır değiştirme ve yeniden derlenmesine kadar basittir (I ettik varsayarak printf/scanf hariç olmak üzerehard-coded boyutları yerine, kullanılır.
Biçim belirleyicilerini türüne göre kolay bir şekilde, sarıcı işlevleri printf
/scanf
, if-elses veya ifdefs olmadan değiştirmenin bir yolu var mı?
Teşekkürler!
İlgilenen herkes için, 32 bit ofsetlerle çalışmak üzere 16 bit'lik bir ofset kullanan bir LKM'yi değiştiriyorum, ancak gerekirse 64 bit (veya başka bir şey!) Ofsetine sahip olmasını istiyorum en az değişiklikle.
Teşekkür :) Başka vaka herkes bu sorunun ilgileniyor içinde, daha eksiksiz bir yanıttır çünkü olsa diğerini kabul etti. – Vanwaril