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 :

[Pointeurs] Optimisation, appel d'une liste de fonctions


Sujet :

C

  1. #1
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut [Pointeurs] Optimisation, appel d'une liste de fonctions
    Bonjour à tous,

    J'aimerais si possible que vous m'aidiez à trouver une piste pour ce que je cherche à faire.

    J'ai un certain nombre d'appel de fonctions que je dois effectuer les uns à la suite des autres, ceci afin de contrôler leur temps d'exécution.

    Je souhaite pouvoir rajouter/supprimer facilement une fonction à tout moment en bougeant le moins de code possible. Le changement ne doit pas se faire de manière dynamique. Une simple liste de pointeurs à modifier avant de recompiler le programme me suffit

    J'avais pensé m'inspirer du principe d'un callback. Avec un tableau de pointeurs de fonctions. Seul problème, mes fonctions ont des arguments et des valeurs de retours de types différents...

    Une idée ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    J'ai du mal à comprendre pourquoi tu ne peux pas simplement faire une grande fonction qui appelle toutes les autres à la suite...

  3. #3
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut
    Si si je peux. C'est déjà ce que je fais.
    Je voulais savoir si ce que je veux obtenir est possible c'est tout.
    Maintenant si c'est trop compliqué ou tiré par les cheveux je laisserai tomber

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Pour des fonctions qui ont une interface différente, c'est pratiquement mort. Dans ce cas, tu réécris un interpréteur de bytecode...

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Tu as toujours la solution, si c'est à des fins de test, d'utiliser des macros pour encapsuler tes appels de fonction... Ceci étant dit, ça ne sera pas vraiment beaucoup plus pratique qu'une succession d'appels, ça éliminera juste les problèmes de chronométrage qui seront encapsulés... Mais ça ne gèrera pas les valeurs de retour différentes, à part si tu les ignores purement et simplement.

  6. #6
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut
    Ok merci à vous 2.
    Je pense que je vais rester avec ma succession d'appel ....

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    bah, pour rajouter le moins de code possible, tu fais des fonctions enregistrées... si c'est dynamique ou dans une bibliothèque..

    Sinon, tu fais un tableau de flags correspondants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int A_Declencher[100]
     
    #define FONCTION_TOTO 0
    #define FONCTION_TATA 1
     
    ...
     
    If ( A_Declencher(FONCTION_TOTO))
       toto();
     
    If ( A_Declencher(FONCTION_TATA))
       tata();

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

Discussions similaires

  1. Appel d'une liste de fonction dans une boucle
    Par lechilien dans le forum Général Python
    Réponses: 5
    Dernier message: 13/04/2012, 09h04
  2. Réponses: 2
    Dernier message: 29/05/2006, 15h58
  3. Problème d'appels d'une variable entre fonctions
    Par julien.nasser dans le forum MFC
    Réponses: 12
    Dernier message: 26/04/2006, 09h23
  4. Réponses: 7
    Dernier message: 28/02/2006, 16h46

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