Ils sont tous corrects, ils montrent juste des tailles différentes.
ls
affiche la taille du fichier (lorsque vous l'ouvrez et le lisez, c'est le nombre d'octets que vous obtiendrez)du
montre l'utilisation réelle du disque qui peut être inférieure à la taille du fichier en raison de troussize
affiche la taille de l'image d'exécution d'un objet/exécutable qui n'est pas directement liée à la taille du fichier (bss n'utilise aucun octet dans le fichier, quelle que soit sa taille, le fichier peut contenir des informations de débogage qui ne font pas partie de l'image d'exécution , etc.)
Si vous voulez savoir combien de RAM/ROM un exécutable prendra en excluant l'allocation de mémoire dynamique, size
vous donne les informations dont vous avez besoin.