mogwai93 Posté(e) le 23 avril 2004 Partager Posté(e) le 23 avril 2004 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 23 avril 2004 Partager Posté(e) le 23 avril 2004 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) Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 23 avril 2004 Auteur Partager Posté(e) le 23 avril 2004 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 23 avril 2004 Partager Posté(e) le 23 avril 2004 en même temps ton code ne doit pas être optimisable Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 23 avril 2004 Auteur Partager Posté(e) le 23 avril 2004 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++ ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabricer Posté(e) le 28 avril 2004 Partager Posté(e) le 28 avril 2004 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Angel Eyes Posté(e) le 2 mai 2004 Partager Posté(e) le 2 mai 2004 http://www.muppetlabs.com/~breadbox/softwa...iny/teensy.html http://www.muppetlabs.com/~breadbox/software/tiny/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.