Aller au contenu

Taille des executables


mogwai93

Messages recommandés

Posté(e)

Prenons le code standard hello_world

en assembleur, ca fait quelque octet (moins de 100 octets)

en C/C++, je suis à environ 20ko (testé avec DevC++)

mes questions :

- comment réduire la taille de l'executable (autre que par un compresseur d'exe) ?

- pourquoi d'un compilo à l'autre, la taille change ? (Turbo C, DevC++, Visual, ...)

- le code "en +" par rapport à l'assembleur, il correspond à quoi ?

Merci

Posté(e)

essaye avec gcc -O1 et -O2 (-O3, le code est plus rapide mais plus long)

Ben fait GCC -S et tu auras ton ASM (non linké, c'est à dire que toute les commandes extérieur comme printf, ne seront pas dedans)

Posté(e)

l'option '-S' ne semble pas marcher avec le gcc de Devc++ :

je n'ai pas de fichier .ASM créé, j'ai seulement une compil normale

par contre, ca fonctionne avec le compilo de Turbo C++

et pour les options -O1, O2, O3

la différence de taille est minime, voire nulle

Posté(e)
en même temps ton code ne doit pas être optimisable

pour le code "hello world"

on ne doit pas trop pouvoir optimiser...

mais en ce qui concerne l'option -S ??

comment faire avec gcc de DevC++ ?

Posté(e)

En assembleur il n'y a dans ton exécutable strictement que le code que tu as utilisé.

En C/C++ tu peux avoir par example la librairie des gestion des chaînes et de la sortie standard complètement linkée avec ton code, du coup tu retrouves dans ton exécutable le code complet d'une librairie liée statiquement à ton code alors que tu n'utilises que 10% de cette librairie.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...