2010-10-29 4 views
12

Je suivais la série de tutoriels Hilo Developing C++ Applications for Windows 7; semblait assez intéressant. Quels livres modernes vont dans les détails du développement d'applications basées sur C++ pour Windows 7? Il devrait montrer comment tirer parti des fonctionnalités de Windows 7 et basé sur C++ "moderne" (modèles, Unicode, etc.). Je ne cherche pas de vieux livres de type Petzold ou MFC (désolé). Il devrait également comporter un développement de code natif (c'est-à-dire aucune bibliothèque tierce de type Qt/wx). Les bibliothèques tierces semblent être au moins une génération derrière et ne semblent pas tirer parti des fonctionnalités latests (par exemple, ruban, animation, etc.).Livres modernes sur le développement C++ natif

+1

Ok, mais le livre de Petzold est toujours extrêmement pertinent. Je le recommande au moins pour un peu d'arrière-plan et de référence sur des bits spécifiques à Win32. Mais je pense que cette série de tutoriels sera une bonne ressource pour beaucoup de gens! – BobbyShaftoe

+0

BobbyShaftoe, je comprends d'où vous venez, mais le livre de Petzold est sérieusement vieux. Je me souviens d'avoir lu ça il y a longtemps. La dernière édition date de 1999!Je suis d'accord que les trucs de pompe de message sont fondamentaux mais GDI, police, contrôles de vieille fenêtre d'école, multithreading etc. sont juste obsolètes. Je lirais probablement les 200 premières pages ou trouver un tutoriel sur la pompe à message. Le livre est énorme! Absolument pas la peine de parcourir toutes les 1500 pages aujourd'hui. – Naveen

+2

Vous parlez de développement de code natif, mais votre seule plainte contre les bibliothèques tierces est qu'elles sont en retard. Alors pensez-vous du tout .Net (en particulier C# + WPF) puisque ceux qui ne sont pas en tant que "3ème partie" et sont généralement plus à jour avec les fonctionnalités modernes? – TheUndeadFish

Répondre

6

Je vous recommande de vous familiariser avec la théorie dans winprog.org/tutorial, puis dans le livre d'Ivor Horton (ci-dessous), puis de consulter la bibliothèque WTL.

Les exemples sur le code de ruban dans les articles Hilo utilisent l'API Windows, qui repose sur les objets COM pour créer le ruban. Les constructions ATL comme le CComPtr gèrent la durée de vie des objets et des interfaces du ruban. Pour cette raison, je vous recommande de vous assurer que vous comprenez les bases de l'écriture du code client COM - par ex. Vous devez comprendre CoCreateInstance, QueryInterface et les pointeurs intelligents. ATL Internals (recherche sur Amazon) est la référence incontournable sur COM, mais c'est lourd. WTL enveloppe les détails de la création du ruban et y accède, mais WTL a été conçu pour les programmeurs COM à la recherche d'une API de fenêtrage, donc ce n'est pas une API facile à utiliser si vous n'avez pas d'expérience de programmation COM avec ATL .

WTL prend en charge les dernières fonctionnalités de Windows, comme les rubans, etc. N'attendez pas de livres sur le sujet, il n'y en a pas. M $ open source WTL il y a quelques années, donc le code est disponible pour lire, donc vous pouvez comprendre comment tout fonctionne en lisant le code. C'est assez avancé cependant, vous voudrez peut-être le regarder après avoir regardé les alternatives en premier.

Google utilise WTL pour l'interface utilisateur de Chrome.

Je suppose que vous devriez commencer avec Ivor Horton's beginning Visual C++ 2010, ce sera une bonne introduction à tous. Si vous cherchez un bon livre de programmation pour Windows, vous ne pouvez pas faire mieux que windows via c/c++ by Jeff richter - de loin le meilleur livre de codage Windows que j'ai jamais acheté.

Si vous êtes intéressé par WTL, alors regardez Michael dunn's series wtl for mfc programmers sur le projet de code.

Enfin, il n'y a pas un seul livre qui maintiennent le développeur C++ GUI serait à travers tout cela, et c'est un grand écart sur le marché. Je me suis souvent demandé pourquoi personne n'a remarqué cela, étant donné la popularité de C++

0

Je ne sais pas si c'est encore «moderne», mais Modern C++ Design est une excellente ressource sur les modèles et les algorithmes génériques.

+3

Je ne pense pas que ce soit le type de "moderne" que le PO recherche. Je pense que le PO est à la recherche d'un livre plus pratique qui traite de la conception et du développement d'applications dans le monde réel. _Modern C++ Design_ ne concerne pas vraiment la conception d'applications C++ modernes; Il s'agit des capacités extraordinaires de la programmation générique en C++ (son sous-titre, «Generic Programming and Design Patterns Applied», est beaucoup plus descriptif de ce qu'est le livre). –

+0

@James, je suppose que vous avez raison, mais c'est un livre génial sur les algorithmes génériques !! :) – kenny

+2

_Great_ ne fait pas le livre justice; c'est un _epic_ - nay, _legendary_ - livre. :-) Si chaque développeur C++ lisait et comprenait ce livre, le monde serait un bien meilleur endroit et il y aurait beaucoup moins de code C++ mal écrit. –

1

Je pense toujours que le langage de programmation C++ de Stroustrup est une lecture obligatoire (couverture à couvrir) pour chaque programmeur C++. Ensuite, ajoutez la série Essential C++/STL de Scott Meyers pour des conseils et astuces supplémentaires.

+1

Je crois que la question de Nathan était plus ciblée sur la programmation de Windows 7, pas sur la programmation C++ générale. Cela ne veut pas dire que je ne suis pas fan du livre de Stroustrup; En fait, je suis un grand fan. Mais le tome de Stroustrup semble plus orienté vers la programmation C++ plate-forme neutre et diagnostique, pas spécifique à Win7. – pr1268

Questions connexes