C API'larında sizi çıldırtan bazı kusurlar nelerdir (standart kütüphaneler, üçüncü taraf kütüphaneleri ve bir projenin içindeki başlıklar dahil)? Amaç, C'deki API tasarım tuzaklarını tanımlamaktır, böylece yeni C kütüphaneleri yazan insanlar geçmişin hatalarından öğrenebilirler.
Kusurun neden kötü olduğunu (tercihen bir örnekle) açıklayın ve bir iyileştirme önermeye çalışın. Çözümünüz gerçek hayatta pratik olmasa da (düzeltmek için çok geç strncpy
), gelecekteki kütüphane yazarları için kafa yormalıdır.
Bu sorunun odağı C API'ları olmasına rağmen, bunları diğer dillerde kullanma yeteneğinizi etkileyen sorunlar memnuniyetle karşılanmaktadır.
Lütfen cevap başına bir kusur verin, böylece demokrasi cevapları sıralayabilir.
malloc
d dizesinin onu nasıl düzelteceğini açıklayın . İlk cevapla iyi bir örnek oluşturmak bu sorunun gelişmesine gerçekten yardımcı olabilir. Teşekkürler!