IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Je trouve que la taille de l'exécutable est assez grande ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Par défaut Je trouve que la taille de l'exécutable est assez grande ?
    Salut à tous !

    je débute en C++, et j'ai compilé le petit programme suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <iostream.h>
    #include <limits.h>
     
    //impression des constantes déclarées dans limits.h :
    main()
    {
          cout << "minimum char = " << CHAR_MIN << endl;
          cout << "maximum char = " << CHAR_MAX << endl;
          cout << "minimum short = " << SHRT_MIN << endl;
          cout << "maximum short = " << SHRT_MAX << endl;
          cout << "minimum int = " << INT_MIN << endl;
          cout << "maximum int = " << INT_MAX << endl;
          cout << "minimum long = " << LONG_MIN << endl;
          cout << "maximum long = " << LONG_MAX << endl;
          cout << "minimum signed char = " << SCHAR_MIN << endl;
          cout << "maximum signed char = " << SCHAR_MAX << endl;
          cout << "maximum unsigned char = " << UCHAR_MAX << endl;      
          cout << "maximum unsigned short = " << USHRT_MAX << endl;
          cout << "maximum unsigned = " << UINT_MAX << endl;
          cout << "maximum unsigned long = " << ULONG_MAX << endl;
          system("PAUSE");
          return(0);
    }
    Ce programme sert juste à afficher la plage de valeurs des types entiers. Quand je le compile avec DEV-C++ (Mingw), j'obtiens un exécutable de 466Ko ?? je trouve que c'est beaucoup trop pour un tel programme !! quesque ça va être pour un code très gros ( > 1000 lignes ) ??

    Comment (si possible) réduire cette taille ?

    Merci pour vos explications !

  2. #2
    Membre éclairé

    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Par défaut Liaison statique
    Je n'ai pas les tailles exactes en tête, mais ça me semble normal, MinGW liant statiquement à la libc et à la libc++.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ce n'est pas la taille du code qui fait, c'est simplement l'utilisation d'iostream (au passage, c'est <iostream> et pas <iostream.h> -- voir FAQ pour plus de détails).

    Par exemple, ton code serait plus petit si tu utilisais <stdio.h> et printf.

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    1/ Change de bouquin tout de suite. iostream.h n'a plus qu'un intérêt historique depuis longtemps.

    2/ La taille des fichiers exécutables varie en fonction d'un tas de facteur:
    - le format utilisé
    - la précence d'information de déboggage
    - les bibliothèques utilisées et si elles sont liées statiquement ou dynamiquement.
    Pour un petit programme comme celui que tu donnes, quasiment tout va venir du premier et troisième point.

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Un éditeur de liens intelligent serait capable d'éliminer les fonctions non utilisées.

  6. #6
    Membre averti
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    45
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 45
    Par défaut C'est quoi un éditeur de lien intelligent ?
    Salut et merci pour vos réponses !

    à Jean-Marc.Bourguet : pour le bouquin, je travaille sur "Programmation en C++" de John Hubbard, Edition Schaum 1996. on m'a dit que c'est un bon livre, mais j'aimerais avoir votre avis !

    1- que signifie format utilisé ?

    2- c'est quoi un éditeur de liens intelligent ? Est-ce que DEV-C++ en a un ?

    Merci.

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par hsazerty Voir le message
    Salut et merci pour vos réponses !

    à Jean-Marc.Bourguet : pour le bouquin, je travaille sur "Programmation en C++" de John Hubbard, Edition Schaum 1996. on m'a dit que c'est un bon livre, mais j'aimerais avoir votre avis !
    C'était peut-être un bon livre quand il a été écrit. Le C++ a changé depuis

    1- que signifie format utilisé ?
    La manière dont sont organisées les informations sur le disque.

    2- c'est quoi un éditeur de liens intelligent ? Est-ce que DEV-C++ en a un ?
    Un éditeur de liens qui se comporte de manière moins stupide que les autre?

    DEV C++ c'est un EDI qui, je crois, peut utiliser différents compilateur. La question n'a guère de sens.

    gcc peut générer des informations pour certains éditeurs de liens intelligents avec les options adéquates. Mais il faut que la bibliothèque ait été batie avec.

    Es-tu sûr de vouloir te mèler de ces complications pendant ton apprentissage?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réduisez jusqu'a plus de 65% la taille de vos exécutables
    Par DjmSoftware dans le forum C++Builder
    Réponses: 33
    Dernier message: 01/04/2012, 21h56
  2. Réponses: 1
    Dernier message: 12/05/2008, 14h43
  3. Réponses: 2
    Dernier message: 09/06/2006, 14h49
  4. Réponses: 1
    Dernier message: 10/11/2005, 19h07
  5. [Free Pascal] Taille de l'exécutable
    Par macluvitch dans le forum Free Pascal
    Réponses: 12
    Dernier message: 28/11/2003, 21h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo