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 :

Portabilit� en c++


Sujet :

C++

  1. #1
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut Portabilit� en c++
    Bonjour a tous,
    je suis actuellement en train de r�aliser un lib multi-plateforme, j'ai pour le moment code les classe String, Vector, Map, Socket TCP/UDP, SMTP, THread Mutex etc.. et je d�sirerai commencer les gui, mais je ne sais pas trop par ou commencer pour que �a soit portable sur les plateforme Unix (notamment mac et linux) et windows.
    Auriez-vous un tuto ou un livre a me proposer ?

    Merci d'avance

    Cordialement,
    NeoKript

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    D�tails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Bonjour a tous,
    je suis actuellement en train de r�aliser un lib multi-plateforme, j'ai pour le moment code les classe String, Vector, Map,
    ok mais pourquoi recoder ce qu'il y a en standard?

    Socket TCP/UDP, SMTP, THread Mutex etc.. et je d�sirerai commencer les gui, mais je ne sais pas trop par ou commencer pour que �a soit portable sur les plateforme Unix (notamment mac et linux) et windows.
    Auriez-vous un tuto ou un livre a me proposer ?
    utiliser la lib standard et boost ?

    ben sinon sur google, des tutos sur les sockets Unix et Windows, c'est vraiment pas ce qu'il manque.

  3. #3
    Membre confirm�
    Homme Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    Juillet 2005
    Messages
    147
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par d�faut
    Je ne comprends pas non plus pourquoi tu recodes ce genre de chose, alors que c'est d�j� dans la librairie standard, qui heureusement est portable.
    Pour les Socket et les GUI, c'est vrai qu'il n'y a rien de standard, mais �a a d�j� �t� fait de nombreuses fois.

    Dis nous exactement ce que tu veux faire, et on te dira (peut �tre) comment y arriver

    A+

  4. #4
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut
    Bonsoir et merci pour vos reponses,

    J'ai d�j� code l'api portable pour les socket, ma r�elle question est comment faire des gui portable sans utiliser de biblioth�que (genre Qt, MFC, xWidget etc ...).

    Je vous remercie,
    Cordialement,
    NeoKript

  5. #5
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Bah tu r�-�cris le code plusieurs fois avec � chaque fois la lib particuli�re de la plateforme.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Bonsoir et merci pour vos reponses,

    J'ai d�j� code l'api portable pour les socket, ma r�elle question est comment faire des gui portable sans utiliser de biblioth�que (genre Qt, MFC, xWidget etc ...).

    Je vous remercie,
    Cordialement,
    NeoKript
    Sachant que Qt et wxWidgets sont d�j� ce que tu cherches � r��crire ?

  7. #7
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut
    Oui c'est a peu pr�s ca dans l'id�e.

    Pour information,
    j'ai recod�e les vector car ceux de la std segfault tr�s souvent et ne permettent pas de faire des choses tr�s pouss�es.

    Pour Davidbrcz, je veux bien pour Windows il y a Win32 pour les gui, mais sous UNIX je ne connais pas de lib qui permettent la cr�ation de gui !

  8. #8
    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
    Citation Envoy� par NeoKript Voir le message
    j'ai recod�e les vector car ceux de la std segfault tr�s souvent et ne permettent pas de faire des choses tr�s pouss�es.
    Heu tu es s�r que c'est pas ton code qui est bugg� ? Parce que que pour les autres (ceux de la std), s'ils avaient des probl�mes, cela se saurait.
    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
    .

  9. #9
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Pour information,
    j'ai recod�e les vector car ceux de la std segfault tr�s souvent et ne permettent pas de faire des choses tr�s pouss�es.
    Pas normal, je ne connais aucune impl�mentation de la STL moderne qui a ce genre de probl�me

  10. #10
    Membre tr�s actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Pour Davidbrcz, je veux bien pour Windows il y a Win32 pour les gui, mais sous UNIX je ne connais pas de lib qui permettent la cr�ation de gui !
    Il y en a un sacr� paquet. Une liste ici http://en.wikipedia.org/wiki/List_of_widget_toolkits

  11. #11
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut
    Citation Envoy� par Matthieu Brucher Voir le message
    Pas normal, je ne connais aucune impl�mentation de la STL moderne qui a ce genre de probl�me
    Pour les avoir utiliser souvent, fait un for avec de temps a autre des erase ==> HEAP CORRUPTED

    Pour metagoto, merci bien c'est pile ce que je cherchais ! Merci

  12. #12
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Pour les avoir utiliser souvent, fait un for avec de temps a autre des erase ==> HEAP CORRUPTED
    C'est donc que tu utilisais mal la STL (heap corrupted, �a ressemble � un d�passement de tableau, et �a, c'est une erreur de ton c�t�).

  13. #13
    Membre tr�s actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Pour les avoir utiliser souvent, fait un for avec de temps a autre des erase ==> HEAP CORRUPTED
    Une manifestation du y2k bug probablement
    As tu regard� cette FAQ ?
    http://cpp.developpez.com/faq/cpp/?p...ssion_elements

  14. #14
    Membre exp�riment� Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Par d�faut
    Ouais faut faire attention � l'invalidation des it�rateurs quand on supprime des �l�ments dans des structures chain�es aussi.
    �a serait un peu triste si la stl �tait pas capable de supprimer un �l�ment dans un conteneur, faut se remettre en question quelquesfois.

  15. #15
    Membre �clair�
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 37
    Localisation : France, Loire (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par d�faut
    Je n'ai pas dit que c'etait une erreur de la STL, je me doutais bien que l'erreru venais de moi mais bon avec mes vecteur je peut faire un for avec directement un erase sans "bidoullage" c'est pas plus mal niveau utilisation.

    Merci pour vos r�ponses

  16. #16
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

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

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Citation Envoy� par NeoKript Voir le message
    Je n'ai pas dit que c'etait une erreur de la STL, je me doutais bien que l'erreru venais de moi mais bon avec mes vecteur je peut faire un for avec directement un erase sans "bidoullage" c'est pas plus mal niveau utilisation.
    L'avantage de la bonne mani�re d'effacer N �l�ments d'un vecteur STL est qu'elle est performante. Entre autre, elle ne d�place qu'une fois chaque �l�ment restant au maximum. Je ne pense pas que ta version d'erase dans un for ait cette propri�t�.

    L'inconv�nient est que la fa�on de l'�crire est tordue (vivement les lambdas pour simplifier �a). Je te conseille de lire l'article de la FAQ qui t'a d�j� �t� propos�.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

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

Discussions similaires

  1. Portabilité du code C++ de Windows -> Linux ?
    Par eraser570 dans le forum Linux
    R�ponses: 29
    Dernier message: 04/09/2009, 17h02
  2. Environnement graphique et portabilité
    Par viddak dans le forum Linux
    R�ponses: 3
    Dernier message: 11/06/2003, 13h57
  3. portabilit� d'une interface
    Par marou dans le forum JBuilder
    R�ponses: 4
    Dernier message: 21/03/2003, 08h53
  4. R�ponses: 11
    Dernier message: 17/03/2003, 10h56
  5. portabilit� et BDD
    Par delire8 dans le forum C++Builder
    R�ponses: 7
    Dernier message: 04/07/2002, 10h59

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