Một số lỗ hổng khiến bạn thất vọng trong API C (bao gồm thư viện tiêu chuẩn, thư viện bên thứ ba và tiêu đề bên trong dự án) là gì? Mục tiêu là xác định các cạm bẫy thiết kế API trong C, vì vậy những người viết thư viện C mới có thể học hỏi từ những sai lầm trong quá khứ.
Giải thích tại sao lỗ hổng là xấu (tốt nhất là với một ví dụ) và cố gắng đề xuất một cải tiến. Mặc dù giải pháp của bạn có thể không thực tế trong cuộc sống thực (đã quá muộn để khắc phục strncpy
), nhưng nó sẽ hỗ trợ cho các nhà văn thư viện trong tương lai.
Mặc dù trọng tâm của câu hỏi này là API C, các vấn đề ảnh hưởng đến khả năng sử dụng chúng trong các ngôn ngữ khác của bạn đều được chào đón.
Xin vui lòng cho một lỗ hổng cho mỗi câu trả lời, để dân chủ có thể sắp xếp các câu trả lời.
malloc
chuỗi 'sẽ sửa nó. Tôi nghĩ rằng việc nêu gương tốt với câu trả lời đầu tiên thực sự có thể giúp câu hỏi này phát triển mạnh. Cảm ơn!