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 :

Exclusion d'une partie du code


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut Exclusion d'une partie du code


    J'ai ma bibliothèque CStr qui dispose d'une grande variété de fonctions. J'utilise cette bibliothèque dans une autre que je suis entrain d'écrire mais je n'utiliserais pas toutes les fonctions de celle-ci. J'aurais voulu savoir s'il y a un moyen quelconque d'exclure les fonctions non utilisées lors de la compilation ?

    Pour le moment j'utilise ma bibliothèque sous forme statique, je ne sais pas encore si ca vaut le coup de faire une liaison dynamique, surtout du point de vue des performance, je pense que ca prend plus de temps et de ressources système le fait de faire appel constamment à des fonctions extérieures non ?

    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Premièrement, je pense que le compilateur ne va pas inclure une fonction qui n'est pas utilisé. Mais je ne suis pas sur de ce point.
    Une solution serait de mettre dans des blocs du preprocesseur du genre:
    Pour la deuxième question, je pense que entre une bibliothèque statique et une dynamique, la différence est vraiment minimale et négligeable.

    Si j'ai tort ... que quelque m'explique
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    le compilateur ne va pas inclure une fonction qui n'est pas utilisé
    Cela est vrai. Du coup je crains qu'on n'ait pas bien compris la question de Franck. Si le but est juste d'exclure certaines déclarations, il faut en effet jouer avec les #if.

    Pour le moment j'utilise ma bibliothèque sous forme statique, je ne sais pas encore si ca vaut le coup de faire une liaison dynamique, surtout du point de vue des performance, je pense que ca prend plus de temps et de ressources système le fait de faire appel constamment à des fonctions extérieures non ?
    Pour un bref comparatif :

    - les exécutables liés statiquement à la bibliothèque sont plus volumineux que ceux qui se lieront à l'exécution, car tout le code nécessaire pour l'exécution est déjà contenu dans le fichier.

    - les exécutables liés statiquement démarrent plus rapidement que ceux qui se lient à l'exécution car ces derniers doivent passer par l'édition des liens avant de réellement s'exécuter.

    - il n'y a aucune différence au niveau de la rapidité d'exécution quelle que soit la méthode choisie.

    - soient q1 la quantité de mémoire vive nécessaire au fonctionnement d'un exécutable lié statiquement, q2 celle qui est nécessaire à un exécutable lié dynamiquement et q3 celle qui est requise par la bibliothèque dynamique. La quantité de mémoire vive nécessaire pour exécuter simultanément n programmes liés statiquement est de n*q1 et de q3 + n*q2 dans le cas de programmes liés dynamiquement, sachant que q2 est de manière générale très petit comparé à q1.

    - l'utilisation de bibliothèques dynamiques facilite les mises à jours.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Note: Je parlais de différence de vitesse (à l'execution).
    Merci pour l'explication Melem
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    je pense que le compilateur ne va pas inclure une fonction qui n'est pas utilisé. Mais je ne suis pas sur de ce point.
    Citation Envoyé par Melem Voir le message
    Cela est vrai. Du coup je crains qu'on n'ait pas bien compris la question de Franck. Si le but est juste d'exclure certaines déclarations, il faut en effet jouer avec les #if.
    Je n'était pas sûr non plus mais si tel est le cas alors c'est bon et résous ma seconde question !

    à tous les deux
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Je n'était pas sûr non plus mais si tel est le cas alors c'est bon et résous ma seconde question !
    On a déjà répondu à ta deuxième question non ?

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par Melem Voir le message
    On a déjà répondu à ta deuxième question non ?
    oui oui c'est ce que j'ai dit
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/07/2007, 11h44
  2. comprendre une partie du code
    Par mademoizel dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/02/2007, 11h40
  3. comprendre une partie de code
    Par menuge dans le forum Langage
    Réponses: 24
    Dernier message: 03/09/2006, 20h44
  4. une partie du code a disparu
    Par recup dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 08/03/2005, 10h08
  5. Indenter une partie du code
    Par KooX dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/05/2004, 17h38

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