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 :

win32 vs boost pour application systeme


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut win32 vs boost pour application systeme
    Bonjour

    Je reflechi a un logciel accès système sur windows

    Avec lecture cles de registre
    Date du dernier acces de la cle de registre
    Lecture d offset pour certains fichiers
    Lister des fichiers dans des repertoires et leurs attributs
    Recup d informations sur processus etc
    Le tout en multi thread tant qu a faire

    Je pensais tout faire en win32 mais plusieurs m on dit de faire avec boost

    Boost permet il de faire tout ca?
    Qu elle serait pour vous le meilleur choix et pourquoi svp merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Ton titre me fait beaucoup penser à "un fil dentaire ou une tronçonneuse laser pour couper un sapin ?"

    Je vois pas ce qui n'est pas possible avec Boost aujourd'hui.
    Win32 de son côté est pas évident à appréhender sur certains points.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut
    J ai eu mes reponses api win32 > boost mais plus chiant a ecrire

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Voici mon point de vue extérieur (je ne connais pas du tout win32):

    L'accès à la base de registre est directement lié à son existence, donc à windows. Pour ca, l'api dédiée (win32?) me semble un bon choix.
    Je ne suis pas sûr que ceci soit dans Boost. Si c'est le cas, regarde dans les modules de type configuration.

    L'offset dans un fichier, le contenu de dossier, les propriétés de processus et le multithread sont des concepts portables d'un os à l'autre.
    Dans ce genre de situation, je préfère Boost, qui est portable.

    D'un point de vue esthétique, je préfère aussi Boost aux fragments win32, mais c'est mineur.

    Comme tu es en C++, il est probable que tu te retrouve avec une classe dédiée à l'accès au registre, dont l'implémentation pourrait être la seule à utiliser la win32.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut
    Merci leternel pour ta réponse qui me conforte dans mes choix

    on m'a dit que la seule possibilité d'avoir mass informations & détails c’était d'utiliser win32
    étant donnée que je ne connait pas Boost autant faire 100% win32, de plus l'application sera spécifique a Windows

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    J'ai juste un détail à rajouter.
    Il me semble que win32 est toute en C, tandis que Boost utilise abondamment le C++ et ses templates.

    Ca n'empêche pas de l'utiliser en C++, mais ca peut jouer sur ce qu'on en fait.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    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 : 49
    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
    Points : 16 213
    Points
    16 213
    Par défaut
    Je partirais sur l'idée d'utiliser boost là où boost fournit la fonctionnalité, et de wrapper win32 par une couche gérant le RAII là où boost ne fournit pas la fonctionnalité. Parce qu'utiliser win32 à la main est très très fastidieux (pas de std::string, plein de HANDLE que l'on doit libérer manuellement...).
    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.

  8. #8
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Je me souviendrai de ce conseil.
    C'est généralement ce que je fais d'une lib très basée sur des pointeurs
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut
    merci pour les infos !!

    Mais je suis débutant.. je ne connait pas du tout BOOST .. je trouve que les API windows sont plus documentés ou alors j'ai rien compris a la doc BOOST

    je pense que c'est préférable de passer 100% de mon temps sur du win32 plutôt que devoir apprendre win32 Boost et RAII

    après je peux peut être essayer de faire une class a base de win32

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 631
    Points : 10 558
    Points
    10 558
    Par défaut
    Citation Envoyé par puke502 Voir le message
    je pense que c'est préférable de passer 100% de mon temps sur du win32 plutôt que devoir apprendre win32 Boost et RAII

    après je peux peut être essayer de faire une class a base de win32
    Tu sais depuis le temps que win32 existe [au moins 20 ans], il y en a eu des wrappers C++: MFC, WTL et peut-être ATL et d'autres que je ne connais pas.

    Donc si tu veux faire du C++ win32, regardes dans un premier temps la WTL, mais elle est "rangée au placard"

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut
    wrappers si j'ai bien compris c'est un genre de class qui encapsule les fonctions des api ?

    Merci pour les conseils je vais regarder du coté de WTL j'avais jamais entendu parlé

    pour MFC on m'avait dit que c'était du .net donc ca m'avait un peu bloqué

    je précise quand même que les fonctions que je veux utiliser sont des fonctions système en mode console dans en premier temps et bien bien bien plus tard pour l'IHM on verra peut être en C#

  12. #12
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Dans tous les cas, regarde soigneusement le concept de RAII.
    C'est comme ca que sont construit les stream C++ et les share_ptr ou unique_ptr: le constructeur ouvre la ressource, le destructeur la referme.
    Il est impossible de ne pas refermer la ressource, puisque la variable sera détruite à un moment donné.

    Reste à la rendre non copiable, ou d'avoir un compteur de référence, et tout va bien.

    le RAII évite tellement de mal de crane et de bug tordu!
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Points : 73
    Points
    73
    Par défaut
    ok merci je prend note !

    mais bon je suis pas dev... j'apprends seul dans mon coin a mes heures perdues.. c'est chaud.. meme si je suis motivé j'avance pas vite..

    je pense que dans un premier temps je vais essayer de faire du win32 tout basic pour deja comprendre tout les parametres des fonctions que je veux utiliser
    j'en ai deja pour un sacré moment je pense..

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

Discussions similaires

  1. Liste des mots français pour application JAVA
    Par elitost dans le forum Général Java
    Réponses: 15
    Dernier message: 16/08/2010, 15h57
  2. [Tomcat]Passage de Windoxs 2000 à Unix pour application .war
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/12/2004, 16h59
  3. Réponses: 2
    Dernier message: 15/05/2004, 18h33
  4. Choix port pour application client-serveur
    Par Tiaps dans le forum Développement
    Réponses: 7
    Dernier message: 15/03/2004, 09h49
  5. Langage le mieux adapté pour application client serveur ?
    Par guenus dans le forum Débats sur le développement - Le Best Of
    Réponses: 4
    Dernier message: 17/06/2002, 15h46

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