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 :

Automatiser le comportement de fonctions


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 293
    Billets dans le blog
    2
    Par défaut Automatiser le comportement de fonctions
    Bonjour à tous,

    oui bon, le titre n'est pas très explicite, mais je n'ai pas trouvé mieux

    J'ai une petite application qui tourne en démon (c'est un serveur SOAP), avec un système de log que j'ai fais moi-même. Pour des raisons diverses et variées, je voudrais que à chaque fois qu'une fonction est appelée, une ligne soit écrite dans le fichier de log avec les paramètres. Seulement:
    1. j'aimerais éviter de tout me taper à la main
    2. j'aimerais que quand je crée une nouvelle fonction je n'ai pas à me taper ce log à la main non plus.
    3. j'aimerais que ce soit super facile à désactiver. Dans le meilleur des cas, sans avoir besoin de recompiler.

    Mais j'avoue que je n'ai pas la moindre idée de comment faire ça. Pas même un début de piste.

    Toute idée est la bienvenue
    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 73
    Par défaut
    Tu peux regarder du côté de la programmation par aspect, qui répond parfaitement à tes besoins. Je sais qu'il existe des projets pour mettre en oeuvre ce paradigme en C++ (aspectC++, par exemple), mais par contre je ne sais pas ce qu'elles valent.

  3. #3
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Une petite macro pour ton éditeur de texte ? C'est simple et efficace.
    Il faut combiner cela à une fonction de log capable de comprendre comment sérialiser chaque argument reçu, quelque soit son type.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Certains compilos permettent de rajouter ton propre code en entrée/sortie de fonctions (http://msdn.microsoft.com/fr-fr/library/c63a9b7h.aspx). Tu peux aussi appeler ta fonction de log. Mais pour récupérer la signature de ta fonction, là ce sera plus compliqué.

  5. #5
    Membre très actif

    Inscrit en
    Juillet 2008
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 186
    Par défaut
    Pour la signature de la fonction, gcc propose les macros __FUNCTION__ et __PRETTY_FUNCTION__. La première est le nom décoré de la fonction, la seconde est le nom de la fonction sous une forme texte lisible comme dans le code source.

Discussions similaires

  1. [MooTools] [Article] Mootools Behavior - Automatiser les comportements
    Par vermine dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 18/02/2012, 21h05
  2. comportement des fonctions d'accès au detail
    Par mederik dans le forum Cognos
    Réponses: 0
    Dernier message: 03/08/2010, 16h09
  3. algorithme comportant une fonction récursive
    Par TraxX dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 21/02/2008, 16h09
  4. Réponses: 11
    Dernier message: 19/03/2007, 08h58
  5. Réponses: 2
    Dernier message: 31/08/2006, 16h17

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