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 :

Lancement et réception de messages C++ pur (portage)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    doccpu
    Invité(e)
    Par défaut Lancement et réception de messages C++ pur (portage)
    Bonjour,

    Coment puis-je lancer et récuperer des message en langage C++ ?

    J'ai un de mes code C++ qui lance des exceptions (throw) et je voudrais transformer certains de ces throw en messages (évenement) comment puis-je faire ?

    Le code doit être portable sous windows et linux. Existe-t'il une interface comune à ces 2 environements pour envoyer un message? Si oui quelle est la logique d'utilisation et quelles sont les classes utilisés ?

    En fait je cherche à utiliser un mécanisme genre delegate de C# en C++. Y à t'il un mécanisme similaire ?

    Merci d'avance.

  2. #2
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Ces messages sont à destination de qui? Si c'est pour de gestion de signaux internes à ton programme, sigc++ ou Boost.Signals peuvent convenir?

  3. #3
    doccpu
    Invité(e)
    Par défaut
    Citation Envoyé par IrmatDen
    Salut,

    Ces messages sont à destination de qui? Si c'est pour de gestion de signaux internes à ton programme, sigc++ ou Boost.Signals peuvent convenir?
    En fait c'est une lib et je voudais envoyer un mesage à un destinataire(appli, objet.... Par exemple comme avec Qt sauf que j'y ai pas droit).

    Je ne peux utiliser que du C++ et éventuellement la lib standard, pas de lib exotique.

    Citation Envoyé par Hylvenir
    Pointeur de fonction ?
    Objet fonctionnel (functor?)
    Les pointeurs de fonctions m'interessent mais je n'arrive pas à comprendre l'architecture qu'il faudrais que je mette en place ou le mécanisme qu'il faut que j'implémente. (je sait faire un pointeur sur fonctions )

    Mais cela m'etonne qu'il n'y ai pas une lib standard de C++ qui traite les évenements je croyais que le C++ était un langage objet et que les objets devais pouvoir communiquer entre les threads.

    Le principe est :
    -J'ai une lib C++ pur(pas d'autres lib autorisés).
    -J'ai des methodes qui doivent dire à l'appli principale qu'elles on finit certains travaux mais elles doivent pouvoir continuer à travailler(signaux, évenements, autre...).
    -J'ai la possibilité d'avoir un pointeur sur le destinataire.
    itation est non définit (doit etre compatible windows et linux)
    -J'ai droit à utiliser les mécanismes du système d'exploitation (et ça m'arrangerais si c'est possible)
    la lib doit pouvoir etre incluse dans un thread donc pas de variables a acces direct sans controles.

    voila ! Des idées?

  4. #4
    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
    Mais cela m'etonne qu'il n'y ai pas une lib standard de C++ qui traite les évenements je croyais que le C++ était un langage objet et que les objets devais pouvoir communiquer entre les threads.
    Le C++ standard n'a aucune notion de thread.

    Les delegates c'est globalement la même chose que les pointeurs de fonction.
    Les foncteurs permettent de rajouter de l'état à ces fonctions.

  5. #5
    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
    S'interdire l'utilisation d'une bilbiothèque non standard n'est pas le meilleur choix quand on veut faire du multithreading. Surtout dans un langage qui ne sait pas ce que c'est.
    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...

  6. #6
    doccpu
    Invité(e)
    Par défaut
    Citation Envoyé par Luc Hermitte
    S'interdire l'utilisation d'une bilbiothèque non standard n'est pas le meilleur choix quand on veut faire du multithreading. Surtout dans un langage qui ne sait pas ce que c'est.
    ouai mais si j'avais le choix je développerais en Qt et je viendrais pas vous casser les bonbon

    La lib ne manipule pas dirrectement les threads mais elle doit etre threadsafe car des threads doivent pouvoir l'utiliser en toute sécurité.

    Et surtout ca fait bizare quand je fais un throw pour envoyer que j'ai fini de lire une partie d'un fichier et que je doit en lire une autre dans la foulée sur le meme fichier.

  7. #7
    doccpu
    Invité(e)
    Par défaut
    Citation Envoyé par loufoque
    ... Les foncteurs permettent de rajouter de l'état à ces fonctions.
    developpe sur les foncteur et les messages ? (je connait pas bien la std)

  8. #8
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    Citation Envoyé par doccpu
    En fait je cherche à utiliser un mécanisme genre delegate de C# en C++. Y à t'il un mécanisme similaire ?
    Pointeur de fonction ?
    Objet fonctionnel (functor?)

  9. #9
    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 Hylvenir
    Pointeur de fonction ?
    Objet fonctionnel (functor?)
    boost::signal utilise un mécanisme à base de foncteurs pour gérer les évènements.
    Tout ça c'est si tu restes dans le même processus (et le même thread tant qu'on y est), si tu veux de la communication interprocessus portable je ne vois que les commu réseau pour pas se casser la tête.

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Il n'existe pas de terme "message" en C++ pur, aussi commence par définir ce que tu appelles "message" : Une entrée dans un log ? Un message Windows ? Un message affiché pour que l'utilisateur le lise ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Empêcher la réception de messages
    Par JIEFJIEF dans le forum Outlook
    Réponses: 4
    Dernier message: 12/04/2007, 19h01
  2. Outlook 2007 Réception des messages de réponse
    Par Cecilenze dans le forum Outlook
    Réponses: 1
    Dernier message: 02/04/2007, 09h00
  3. réception des messages dans un chat en tcp
    Par je®ome dans le forum Réseau
    Réponses: 9
    Dernier message: 25/04/2006, 17h48
  4. [DatagramSocket] Pb de réception de messages côté serveur
    Par simsky dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/09/2005, 18h41
  5. réception des messages WM_PAINT
    Par enzoMetz dans le forum Windows
    Réponses: 2
    Dernier message: 19/06/2004, 20h15

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