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 :

[C++] compilation d'une class


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par d�faut [C++] compilation d'une class
    Bonjour,

    Faute d'avoir trouv�, je viens demander votre aide.
    J'aimerai savoir si les compilateur c++ compile �galement les fonctions membre d'une class non utilis� ?

    Supposons la class suivante :
    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
    class Object
    {
      Object();
      ~Object();
     
      Function();
      Function1();
      ...
      FunctionX();
    }
    main ()
    {
      Object * MyObject = new Object();
      MyObject->Function();
      delete MyObject;
    }
    Est ce que dans cette exemple, l'executable contiendra toute les fonctions d�clar�e dans la class ?

    Merci d'avance :-)

    Crdlt,

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Je dirais oui pour 2 raisons :

    1/ D'abord il faudrait que le compilateur se rende compte que la fonction n'est pas appell�e dans le code. Ce qui est envisageable sur l'analyse d'un source devient franchement long/impossible sur un projet beaucoup plus cons�quent. La construction de l'arbre d'appel d'un programme est une chose complexe de m�me que la d�tection de code mort (car cela ressemble � du code mort).

    2/ Si je construit une DLL ou une librairie tierce et que j'exporte une classe avec des fonctions bien d�finie, je ne souhaite pas que le compilateur me supprime ces fonctions sous pr�texte qu'il ne juge pas utile de les mettre car il ne voit pas les appels � ces fonctions.
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par d�faut
    Tout d'abord merci pour ton aide

    Effectivement, apres un test ( et oui c' tjrs apres avoir poss� sa question betement qu'on pense a la solution ) , il semble que tu ais raison.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    main()
    {
    }
    //Cette executable fait 15Ko
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    #incude <iostream>
    main()
    {
    }
    //Cette executable fait 500Ko
    ... Curieu, je continue dans cette logique mais avec le C ...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    #include <stdio.h>
    main()
    {
    }
    //Cette executable fait 15Ko
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    #include <stdio.h>
    main()
    {
    puts("Salut");
    }
    //Cette executable fait 15,2Ko
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    main()
    {
        puts("Salut :)");
        puts("Salut :)");
    }
    //Cette executable fait 15,2Ko
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    main()
    {
        puts("Salut :)");
        printf("Salut :)");
    }
    //Cette executable fait 15,4Ko
    Je crois que c'est claire !

    Dans mon cas, je n'utilise que std::cout. N'y a t'il pas une solution pour utiliser les lib C++ ( std::cout et surtout <<) sans pour auttant ajouter les 500Ko de code de la lib iostream ?

    Suis je oblig� de coupl� le C++ avec les lib C afin de preserv� une certaine legert�?

  4. #4
    Membre �m�rite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par d�faut
    Citation Envoy� par CR_Gio Voir le message
    Dans mon cas, je n'utilise que std::cout. N'y a t'il pas une solution pour utiliser les lib C++ ( std::cout et surtout <<) sans pour auttant ajouter les 500Ko de code de la lib iostream ?
    Tu veux le beurre et l'argent du beurre la! Non, ce n'est pas possible, et ce n'est qu'un moindre mal. Quand on commence � faire de "vrais" programme, qui utilisent 4-5 biblios au bas mot pour fonctionner, ce n'est pas 500k qu'il faut sacrifier (compter dans les 40 mo pour gtk par exemple). Avec l'�volution des connexions actuelles, ce n'est vraiment pas un probl�me.
    Si tu dois vraiment faire un programme minuscule, comme moi qui ai du faire un lanceur d'applic il n'y pas longtemps, autant le faire en C en utilisant directement les fonctions de plus bas niveaux de ton syst�me. Mais pour �a il faut que ce soit du facilement maintenable, comprendre un code de quelques centaines de lignes au plus.

  5. #5
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    Citation Envoy� par CR_Gio Voir le message
    J'aimerai savoir si les compilateur c++ compile �galement les fonctions membre d'une class non utilis� ?
    Oui sauf pour les classes templates, le fait que l'exemple suivnt compile le d�montre bien.

    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 <vector>
     
    using std::vector;
     
    template <typename T>
    struct C
    {
      void func1() {}
      void func2( T & t )
      { 
        t.push_back( 2 );
      }
    };
     
    int main()
    {
      vector<int> vec;
      C<int> c1;
      C<vector<int> > c2;
     
      c1.func1();
      c2.func2( vec );
    }

  6. #6
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par d�faut
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me lors de la compilation d'une classe
    Par gjava dans le forum JavaFX
    R�ponses: 1
    Dernier message: 09/10/2012, 01h04
  2. Compilation d'une classe appelant une autre
    Par khaigo dans le forum D�buter avec Java
    R�ponses: 2
    Dernier message: 11/01/2011, 16h12
  3. Compilation d'une classe java avec cmd appelant une autre classe
    Par y_chafaqi dans le forum G�n�ral Java
    R�ponses: 10
    Dernier message: 09/12/2009, 20h24
  4. comment connaitre la version de compilation d'une classe ?
    Par Tanebisse dans le forum G�n�ral Java
    R�ponses: 5
    Dernier message: 23/01/2009, 11h32
  5. [Debutant(e)]Compiler une classe
    Par tscoops dans le forum Eclipse Java
    R�ponses: 2
    Dernier message: 27/05/2004, 13h50

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