Quais são algumas falhas que o deixam louco nas APIs C (incluindo bibliotecas padrão, bibliotecas de terceiros e cabeçalhos dentro de um projeto)? O objetivo é identificar as armadilhas do design da API em C, para que as pessoas que escrevem novas bibliotecas em C possam aprender com os erros do passado.
Explique por que a falha é ruim (de preferência com um exemplo) e tente sugerir uma melhoria. Embora sua solução possa não ser prática na vida real (é muito tarde para consertar strncpy
), ela deve ser um alerta para futuros escritores de bibliotecas.
Embora o foco desta pergunta sejam as APIs C, problemas que afetam sua capacidade de usá-los em outros idiomas são bem-vindos.
Por favor, dê uma falha por resposta, para que a democracia possa classificar as respostas.
malloc
string seria corrigida. Eu acho que dar um bom exemplo com a primeira resposta poderia realmente ajudar essa questão a prosperar. Obrigado!