D'ailleurs je ne comprends pas la différence entre printf() et fputs(stdout).
fputs est plus rapide (ne regarde pas la chaine de caractère fournie et la balance directement à la sortie), mais ne formate pas en fonction de options dans la chaîne de caractères, ce que fait printf.
Et comme ils veulent réutiliser USAGE_BUILTIN_WARNING, une chaîne générique qui a une option (le nom du programme), ils ne s'emmerdent pas et plutôt que de stocker statiquement la chaîne qui ne changera jamais il l'adapte dynamiquement à chaque appel (oui, si on regarde l'écologie à l’électron près on bouffe un peu de CPU pour rien à refaire toujours le même calcul; mais c'est déjà bien de en as appeler printf quand on sait que pas d'option dans la chaîne de caractères).
[^] # Re: Et le code source il fait quoi ?
Posté par Zenitram (site web personnel) . En réponse au journal Challenge: Écrire la plus petite implémentation de /bin/true. Évalué à 4.
fputsest plus rapide (ne regarde pas la chaine de caractère fournie et la balance directement à la sortie), mais ne formate pas en fonction de options dans la chaîne de caractères, ce que faitprintf.Et comme ils veulent réutiliser USAGE_BUILTIN_WARNING, une chaîne générique qui a une option (le nom du programme), ils ne s'emmerdent pas et plutôt que de stocker statiquement la chaîne qui ne changera jamais il l'adapte dynamiquement à chaque appel (oui, si on regarde l'écologie à l’électron près on bouffe un peu de CPU pour rien à refaire toujours le même calcul; mais c'est déjà bien de en as appeler
printfquand on sait que pas d'option dans la chaîne de caractères).