Yazar, C programlama dilinde string'den float'a dönüşüm fonksiyonlarının (strtod, strtof vb.) hata kontrolü konusundaki teknik bir detayı inceliyor. Birçok geliştirici, taşma (overflow) veya taşma altı (underflow) durumlarını tespit etmek için sadece errno'yu veya döndürülen değeri kontrol etmenin yeterli olduğunu varsaysa da, C standartları bu davranışı math_errhandling makrosuna bağlı tutmaktadır. Bu makro, bir kütüphanenin hata raporlamasını errno (MATH_ERRNO) üzerinden mi yoksa kayan nokta istisnaları (MATH_ERREXCEPT) üzerinden mi desteklediğini belirler. Sonuç olarak, MATH_ERRNO'nun tanımlanmamış olabileceği musl gibi sistemlerde, taşma durumunda errno güncellenmez; bu da standart hata kontrolü yöntemlerinin taşınabilirliğini bozar.
Konular: C Programlama Dili, Yazılım Mühendisliği, İşletim Sistemleri ve Kütüphaneler
SiteM’de tam özet, flashcard ve quiz →
Orijinal kaynak: sebsite.pw
Kaynak: sitem.co — paylas.io yer imi / keşif katmanı.
Yorumlar
Yorum için giriş yap veya kaydol.
Henüz yorum yok — ilk sen yaz.