Quali sono alcuni difetti che ti fanno impazzire nelle API C (incluse librerie standard, librerie di terze parti e intestazioni all'interno di un progetto)? L'obiettivo è identificare le insidie della progettazione API in C, in modo che le persone che scrivono nuove librerie C possano imparare dagli errori del passato.
Spiega perché il difetto è negativo (preferibilmente con un esempio) e prova a suggerire un miglioramento. Sebbene la tua soluzione potrebbe non essere pratica nella vita reale (è troppo tardi per risolvere strncpy
), dovrebbe dare un avvertimento per i futuri scrittori di biblioteche.
Sebbene il focus di questa domanda siano le API C, i problemi che influenzano la tua capacità di usarli in altre lingue sono i benvenuti.
Si prega di dare un difetto per risposta, in modo che la democrazia possa ordinare le risposte.
malloc
stringa dovrebbe risolverlo. Penso che dare il buon esempio con la prima risposta potrebbe davvero aiutare questa domanda a prosperare. Grazie!