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

Bibliothèques C++ Discussion :

Quel livre pour debuter en Visual et Win32 ?


Sujet :

Bibliothèques C++

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut Quel livre pour debuter en Visual et Win32 ?
    Bonjour

    J'ai chargé le Visual C++ 2008.

    J'ai 'une expérience de la programmation' mais pas en C/C++ meme si le langage que j'avais deja pratiqué avait des similitudes...

    Quel livre pouvez vous me conseiller pour débuter en Visual et Win32 ?

    J'ai deja acquis le livre 'Le langage C++ de Bjarne Stroustrup', qui donne les explications sur le "langage pur".

    Seulement ce qui me dérange c'est tout ce qui s'affiche à la base dans la fenetre d'un nouveau projet VISUAL C++ Win32 parce que j'aimerai comprendre "ce que c'est que tout cela" et pouvoir vraiment debuter

    J'espère pouvoir réaliser des applications avec des fenetres sous Windows, comme les logiciels que l'on retrouve couramment sous Windows.

    Merci

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Comme ca je sais j'ai de livre en tete. En revanche la FAQ Win32 et la FAQ MFC sont tres bien faites et comportent beaucoup reponses aux questions que tu te poseras. Apres pour ce qui est de l'approfondissement je pense que MSDN sera ton ami.

    Bon courage.

    PS: Peut etre tu peux t'orienter vers le C++/CLI et la tu as toute la doc .Net et ses nombreux livres pour t'aider.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    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
    Bonjour et bienvenu,
    Tu peux déjà trouver de bons tutoriels sur le développement windows et sur visual dans les pages de ce site. Tu as aussi la section FAQ. Enfin, tu as la section livre où sont proposés des critiques de livres, dont certaines consacrées à la programmation windows.

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut
    Merci

    Sinon, meme si le .NET a ses avantages (surtout en entreprise), c'est quand meme un peu proprietaire si je ne me trompe pas... Alors je prefererai essayer de rester dans un C++ qui reste le plus possible 'traditionnel', au moins dans un premier temps

  5. #5
    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
    Effectivement.
    Garde en tête que l'interface Win32 reste propriétaire

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    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 392
    Par défaut
    Je n'ai pas de tuto en tête, mais en supposant que tu connaisses bien le C++, c'est un bon début.

    Ce qu'il faut savoir avant tout, c'est que Win32 se programme plus "à la C" que "à la C++". Pour programmer "à la C++" sous Windows, on utilise plutôt la bibliothèque Microsoft Foundation Classes (MFC), malheureusement payante.

    Explications sur le projet Win32 par défaut de Visual 2008 (J'ai appelé le projet "NouveauProjetWin" :
    • NouveauProjetWin.h est un fichier d'en-tête où on est censé déclarer les différentes fonctions du projet. Mais dans cet exemple, elles sont directement déclarées dans NouveauProjetWin.cpp.
    • ProjetWin.cpp contient le code principal, je reviendrais dessus plus tard.
      • Il est clairement programmé "à la C" : J'ai renommé les deux fichiers .cpp en .c, et la seule correction nécessaire pour les faire compiler était de déplacer en début de bloc les déclarations des variables msg et hAccelTable.
      • Et en plus, il utilise des variables globales.
    • stdafx.h est un header qui inclue les headers Windows. Typiquement, toutes tes inclusions de headers Windows, tu les mets dans ce fichier. De plus, tous les fichiers C++ que tu écris doivent l'inclure en premier, tant qu'une option spéciale de Visual est activée (les "en-têtes précompilés", c'est une option pour accélérer la compilation)
    • stdafx.cpp est un fichier lié à l'option des en-têtes précompilés: Il se contente d'inclure stdafx.h et est toujours compilé en premier.
    • TargetVer.h contient des defines qui indiquent la version minimale de Windows pour ton projet: Plus cette version est élevée, plus des fonctions récentes seront déclarées.
    • NouveauProjetWin.rc est un script de ressources, qui indique que l'EXE doit contenir des fichiers en plus : Ici, deux icônes. Le script de ressources définit aussi d'autres choses plus compliquées, comme des boîtes de dialogue et certaines chaines de caractères. L'intéret de mettre des chaînes en ressources plutôt que directement dans le code est que ça facilite la traduction du programme.
      • Ces ressources peuvent ensuite être chargées dans le programme avec des fonctions comme LoadString(), LoadIcon(), etc.
    • resource.h est un fichier lié au script de ressource. Il définit des IDs de ressources qui peuvent être utilisés dans le code pour charger les ressources en question.
    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.

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut
    Oui merci

    .NET a été un rajout 'utile et portable' pratique pour les entreprises et certaines applications profesionnelles...

    Et je me doutais bien que les interfaces graphiques sont liées au Systeme

    Je vais commencer petit et apres je vais voir si je m'en sort lol (Aïe) héhé

    MERCI BEAUCOUP ! UN GRAND MERCI POUR VOS REPONSES !

    Tiens plus C que C++ c'est bon a savoir ... Oups

  8. #8
    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
    Citation Envoyé par Devland Voir le message
    Et je me doutais bien que les interfaces graphiques sont liées au Systeme
    Il en existe des indépendantes du système (ou plutôt disponible à l'identique dans différents systèmes).

  9. #9
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par 3DArchi
    Effectivement.
    Garde en tête que l'interface Win32 reste propriétaire
    Effectivement c'est bien de le preciser de meme que les MFC tout cela est propriétaire et pas portable.

    De meme il faut savoir que Win32/MFC est un porgrammation tres particuliere et relativement compliqué par rapport a au autre type de bibliotheque graphique.

    Apres si tu veux du portable tu as la STL (mas pas graphique ) qui est portable et tu peux aussi choisir une bibliotheque graphique type Qt qui permet de faire des GUI, elle est très puissante, portable et sous licence LGLP (Qt 4.5).
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  10. #10
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut
    Si je comprends bien, si on veut vraiment faire du C++, vive la console !!

    Ca va me rappeler toutes mes heures passées a programmer sous MS-Dos


    Ce qui pose une question : Si on fait une application en C++ elle ne pourra alors pas fonctionner en Win32 ??
    (surtout sous Visual?)


    J'ai deja installé Qt cela a l'air vraiment tres chouette


    Waou il y a tellement de details a savoir qui ont une grande importance !


    Mais alors dans ces conditions qu'est ce qu'apporte le Win32 et qui justifie que l'on soit obligé de développer dessus (Visual) ??

    Cela expliquerait alors pourquoi beaucoup semblent utiliser Qt et MinGW ?

    J'etais plus habitue a programmer sous Dos et a incorporer des petites routines en assembleur (genre debeugger du DOS) et a construire le plus possibles mes propres 'fonctions' que d'utiliser celles fournies qui ont leurs propres bugs...

  11. #11
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Citation Envoyé par Devland
    Si je comprends bien, si on veut vraiment faire du C++, vive la console !!

    Ca va me rappeler toutes mes heures passées a programmer sous MS-Dos
    Pour debuter avec et faire du C++ pure oui.


    Pour la partie GUI Win32 et MFC sont deux methodes de programmation differentes. Il faut savoir que la majorité des MFC sont en fait des Wrapper Win32 et donc tu peux tout a fait créer un projet MFC et faire appelle à du code Win32. En revanche l'inverse n'est pas possible (enfin pas à ma connaissance). Win32 n'est que l'API utilisateur de base de windows tu as acces a tout les fonctions systemes.

    Citation Envoyé par Devland
    Ce qui pose une question : Si on fait une application en C++ elle ne pourra alors pas fonctionner en Win32 ??
    Je comprend pas bien la question. Peux tu preciser ?
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  12. #12
    Membre habitué
    Inscrit en
    Janvier 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 11
    Par défaut
    Superjaja je me tourne pour ce que j'ai dit par rapport a ce qu'a dit Medinoc :
    indiqué Visual Win32 plus C que C++)



    Merci

  13. #13
    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
    Citation Envoyé par Devland Voir le message
    Superjaja je me tourne pour ce que j'ai dit par rapport a ce qu'a dit Medinoc :
    "Si on fait une application en C++ elle ne pourra alors pas fonctionner en Win32 ?? " (indiqué Visual Win32 plus C que C++)
    Non. On appelle communément Win32 l'API mis à disposition pour développer sous Windows : créer des fenêtres, des boîtes de dialogues, des menus, des boutons, mais aussi des choses plus 'systèmes' de windows. Cet API est fournie avec une interface en C (de .h avec plein de prototypes). Tu peux très bien faire appel à ces fonctions dans ton code en C++.
    Par dessus, Microsoft propose les MFC qui sont une encapsulation de cette API dans une hiérarchie d'objet C++. Les MFC sont une bibliothèque disponible avec les versions payantes de Visual.
    Ensuite, d'autres personnes ont développés d'autres bibliothèques offrant les mêmes 'services' que les MFC (Qt, wxWidget...). Ces bibliothèques peuvent être propriétaires ou non, libre ou non, payante ou non, portable ou non... Tout enfouie au fond de ces bibliothèques, tu retrouveras des appels vers l'API window pour leur version window. Mais en t'offrant une interface de plus haut niveau, elles te permettent en général de compiler ton projet pour d'autres plateformes (linux, max). Ce qui n'est pas le cas des MFC (je crois qu'elles peuvent être compilées pour MAC, mais pas pour linux. J'en suis pas sûr).
    Citation Envoyé par Devland Voir le message

    Mais la question devrait surtout quel est l'avantage qu'apporterai Win32 sous Visual (hormis .NET) par rapport aux autres solutions comme MinGW et Qt ?
    ou encore quelles limites entre Visual Win32 et autres genre MinGW et Qt ?
    cf ci-dessus.
    Citation Envoyé par Devland Voir le message
    Je vais me faire lancer des pierres :

    Bon et bien puisque l'on parle du .NET venons en au fait de la position du C++ vis a vis du C# pour l'avenir ? Est-il vraiment judicieux de continuer faire du C++ et si Oui pourquoi ?


    A ce que l'on avait pu me dire Microsoft cherche a vouloir developper les languages pour qu'ils soient utilisables sur n'importe quel genre de machine .NET et C# semblent bienvenus... ???

    Si tout cela vous semble surprenant merci de me lyncher j'aime bien essayer de comprendre ce qu'on me dit (partez du principe que je suis bete) lol

    Merci
    C'est un troll qui n'a pas vraiment d'intérêt. Tu trouveras des adeptes du C++, d'autre du C#, d'autre du Java, et même certain qui ne font que du COBOL et aime ça. Je pourrais te retourner la question autrement : penses-tu qu'il est intéressant d'arrêter d'apprendre le français et qu'on parle tous l'anglais, le chinois ou le brésilien ? Ce sont des questions qui n'ont pas de sens.

  14. #14
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 940
    Par défaut
    Pour apprendre le C++ et Visual C++ j'ai beaucoup apprécié le livre "C++" de Micro Application, par Yannick Gérometta et Julien Le Corre (ISBN : 978-2-7429-8089-5). Il balaye pas mal de chose, de façon assez claire : débuter avec la console, la poo en C++, une introduction à OpenGL et GLUT, le framework .NET, le CLI (dont les GUI .NET)... L'IDE proposé est Visual C++ 2005 Express Edition, mais il ne devrait pas y avoir de grosse différence avec la version 2008.

    Qt est une bibliothèque graphique. Elle est gratuite si tu fais de l'open source, payante sinon. La version payante ne prend pas en charge par défaut visual C++, apparement c'est faisable, mais il y a pas mal de bidouillage à faire.

Discussions similaires

  1. Quel livre pour debutant
    Par hoangeric dans le forum Linux
    Réponses: 6
    Dernier message: 22/06/2008, 16h30
  2. Quels livres pour débuter en J2EE ?
    Par arN34 dans le forum Java EE
    Réponses: 5
    Dernier message: 23/06/2006, 19h00
  3. Réponses: 3
    Dernier message: 16/05/2006, 23h30
  4. Livre pour commencer sous Visual c++ 2005
    Par 5:35pm dans le forum MFC
    Réponses: 7
    Dernier message: 16/04/2006, 04h12
  5. [CR] Quel livre pour commencer Crystal en FR ?
    Par AYITE dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/01/2005, 16h39

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