views:

294

answers:

6

I would like to create a few simple programs that don't have the huge .NET framework as a dependency. The obvious choice is C++ under Visual Studio.

What's the best book for a programmer that has a reasonable familiarity with the C++ language but is a bit rusty on Win32 arcana?

Also, what's the preferred jargon? "Native," "Win32," or "Unmanaged?"

+5  A: 

I believe the best term in Win32 libraries. It carries with it the implication of native C++ code.

The defacto book for learning Win32 programming is still the "Programming Windows" book by Petzold

http://www.amazon.com/Programming-Windows-Fifth-Microsoft/dp/157231995X

This is the best starting point for Win32 programming. Although you may want to get a more up to date book if you're going to be doing a lot of manual drawing of controls.

JaredPar
"Programming Windows" is *definitely* the right book to start with. It introduces all the critical concepts and ways of thinking in the Win32 API.
Harper Shelby
+1  A: 

I believe it is win32 development.

And, there is one book for Win32 development: Programming Windows, by C. Petzold. Actually, this is a book on C, since windows are programmed in C.

If you want to use C++ to program win32 applications then you have to use a framework. I think that the most popular windows programming framework is the MFC which is supported by Visual Studio. A great book about MFC is Programming Windows with MFC, by J. Prosise.

Serafeim
You don't need a framework for Win32 C++ programming,you can call API functions from C++ just as well as from C.
robson3.14
Yeah, but for making windowed applications it helps a lot.
JCCyC
I agree: you don't need a windows programming framework to call C win32 functions from C++.However, I believe that using a C++ framework like MFC is really helpful when creating windows applications. It is important to learn the basics from the Petzold book but you'll want to use a framework for creating applications!
Serafeim
+3  A: 

In case you didn't know, Microsoft provides a 2008 express edition with a light version of video studio for free here:

http://www.microsoft.com/express/

I believe the intel compiler is free for non-commercial use. In addition gnu c++ is also free and can be used under cygwin or mingw.

Juan
A: 

I found this excellent book: Beginning Visual C++ 2008 by Ivor Horton.

JCCyC
A: 

It's worth distinguishing between learning C++ the language, or Win32 the platform.

For the former, Koenig & Moo ; for the latter Petzold.

The platform is 'C', because that way you don't have the name-mangling issues that make C++ a pain to write libraries/SDKs in.

There is an elegant C++ binding to the UI facilities in the form of the Windows Template Library, which builds upon the ATL template classes, but there's no treeware that I've seen for them.

Steve Gilham
+1  A: 

If you are just looking for "pure" C++ programming without 3rd party frameworks I recommend "Thinking in C++" by Bruce Eckel. It covers the language and the standard template library (STL). And it's free!

If you want to create a few small programs, then I don't think you would need to interact with the Win32 API directly. If it is just for the GUI I recommend a lightweight toolkit like wxWidgets, the MFC is hopelessly outdated and encapsulates the Win32 API in a 1980's view of OOP.

Ozan