Bonjour à tous,
J'ai un problème de taille d’exécutable lorsque j'utilise une librairie qui traite les chaînes de caractères utf8 en C. La librairie est disponible sur github à l’adresse suivante : https://github.com/sheredom/utf8.h
Ce que je ne comprends pas c'est pourquoi si je place tous les sources (fichier *.h et *.c) dans le même répertoire l'exécutable final fait 35.6 Ko alors que si je place les fichiers *.h dans un répertoire "include" et les fichiers *.c dans un répertoire "source" l'exécutable final 82.8 Ko. Ce n'est pas énorme comme différence mais sur un plus gros programme qui utilise ces mêmes librairies la différence de taille est de 122.4 Ko vs 528.3 Ko.
Dans les deux cas j'utilise le compilateur gcc qui est livré avec Debian 12. Dans les deux cas la compilation est faite via des Makefile.
J'ai joint une petite archive de démonstration, si quelqu'un est en mesure d'expliquer ce qui se passe j'apprécierais.
Merci à l'avance.
P.S. J'ai une manière d'écrire le code C qui n'est pas orthodoxe, ceci étant mentionné le compilateur ne se plaint pas du tout alors je considère le code comme étant valide.
Partager