Cc339273_cover_9780735624245(en-us,MSDN_10)Title: Windows via C/C++ 5th Edition
Authors: Jeffrey Richter & Christophe Nasarre

 

 

Overview

“Get the preeminent guide to programming application for Windows with C++. Programming Applications for Microsoft Windows is a classic book (formerly titled Advanced Windows, Third Edition) and is now fully updated for Windows Vista, including the latest information about Windows XP. In-depth and comprehensive, this essential reference covers the Windows operating system and how to program at the API level. Recognized experts provide an inside view of how Windows works and how to use its features in Visual C++ development tasks. Topics covered include processes, thread pooling, virtual memory, DLLs, file I/O, and message crackers. For systems-level programmers, this is a must-have title. Includes code samples in Visual C++.”

Review

Although the title of the book is slightly misleading, this book certainly accomplishes what the overview says. The authors provide a great wealth of information concerning Windows development topics like Threading, Process Management, working with memory, DLLs and many other areas.

Weighing in at 800+ pages, this is a extensive guide to working with Windows. The book presents the information at a rapid pace and ultimately works better as a reference book than something you sit down and read. For example I was working on a wrapper for the Windows API INI functions for a game, and whilst I have worked with strings before, I have not worked much with the Unicode strings that Windows uses. This book really helped me to understand the many different available functions, and realise that even if you use the ASCII versions, Windows will convert behind-the-scenes. (Which could have a detrimental effect on performance)

Whether it be working with strings, or working with DLLs, this book will provide a nice overview of the many different functions available to you in the Windows API, as well as short instructions on how to best make use of them.

The book is split into Strings, Processes/Threads, Memory Management, DLLs and exceptions, and each part has many sub-parts each containing a wealth of information on the topic. Each chapter is laid out with a summary of how you would accomplish the tasks in each area (Thread creation etc), and for each function and structure you may use (or group of functions/structures), there is a small summary of the best way to make use of the capabilities of the function, as well as tables describing each part of the structure or the parameters for the function.

The book not only covers the correct ways to accomplish a task, but also provides information on legacy equivalents in case you encounter them or have to use them. (Although it does strongly advise you use the newer forms)

For those doing Engineering at UTS, this book covers the Windows API equivalents of what you would learn in Real Time Operating systems, and includes all the information about inter-process communication and inter-thread communication. I am unsure what IT students do as an equivalent (if there is one).

You can find the table of contents in the book’s MSDN article here and there is also excerpts from two chapters so you can get a nice example of the structure and writing style, that way you can try before you buy.

This book is aimed at intermediate or advanced developers who already have an understanding of C++ and want to work in a Windows environment. Most of this book applies to both CLI and Win32 development, and could even be used in Game development, as long as it uses the Windows APIs. The book is also up to date with the changes for Vista.

I would say this is a must get for any C++ Windows developer’s reference library. It has many applications and the theory of how things work in Windows on a lower level can be taken into many other languages.

If you are still beginning C++ development, you should probably steer clear from this book for now, and pick it up later when you have a better grasp of the language. This book provides very short and concise code samples that generally only cover the correct way to use a feature instead of a complete sample application. It assumes that you have experience with working with C++ and all of the language specific features, and is best used to extend your knowledge into Windows specific areas.

Rating: 8/10

I have an extra copy of the book to give away, so just leave a comment about the review or the book and I will pick one at random. Preferably Sydney or Melbourne only, since the book is thick and pretty big. If you are not located in Sydney/Melbourne and still want it (and win), then you may need to cover the shipping costs.

You buy this book from Microsoft Press Australia for $145, and get 40% off RRP if you use the code TOOLS when ordering. (Valid until May 2009)

Aside from the 40% off promotion, all students get 20% off if you buy from the online store at www.mspress.com.au, and if you happen to find that Amazon has a cheaper price, then MS Press will match it as well!


3 Comments to “[Review] Windows via C/C++”  

  1. 1 Hass

    Oh hai. Just thought id post a comment if it isnt too late ;D
    Yeah this seems kind of interesting, Ive been meaning to get into C++ for a while now to beef up my programming skills. So this book could help down the track for industry work. Ill probably check it out, one way or another
    Thanks for the heads up

  2. 2 Mark

    A good thing about your review is that you explain who would find the book MOST useful, which is handy as that is not always obvious until after purchase!

    I am currently working on a API app and currently don’t have any up-to-date textbooks. I currently am tackling memory issues, and will definitely need to tackle threading at some stage, so any help (a good book like this) would be useful to me.

  1. 1 [Review] Windows via C/C++, 5th Edition « Michael Quandt


Leave a Reply