I need help to start VS C++/MFC , can u tell me any books or tutorials which starts from basic.
thanks
I need help to start VS C++/MFC , can u tell me any books or tutorials which starts from basic.
thanks
Did you read this sticky link at the top of the forum?
Windows programming links
By "basic", do you mean from not knowing C++ AT ALL, or from knowing a reasonable amount of C++, but not knowing anything about Windows AT ALL?
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
As far as i observed, it is better to start from standard win32 api,understand it basically, and then pass on to MFC. If you want a tutorial for win32, here's one:
Forger's Win32 Tutorial
(also mentioned on the link Salem gave)
Ummm... Exscuse me? Did I hear that correctly?
More than 90% of the world works on Windows and something like 75% of that is 32 bit versions; XP which still holds a more than 45% market share is nearly 100% 32 bit versions. XP-x86-sp3 remains the OS of choice for multimedia intensive applications such as home theatre systems.
Win32 and Win32 API programming is going to be around for quite some time to come...
Last edited by CommonTater; 03-12-2011 at 09:32 PM.
I think Elysia meant pure Win32 code. It is not for the faint of heart and while it is not all that hard it does become quite ugly and cumbersome.
Lets just give an answer to ednan's question and leave choosing from win32 or mfc to him.
I've found another tutorial on win32:
The Winapi (C Win32 API, No MFC) tutorial
It's easier to start compared to the Forger's, but less detailed.
And if you still want learn to learn MFC first, here's a tutorial on the topic:
http://www.codersource.net/mfc.aspx
But your roots are that of C. It's where your mindset is. It's how you look at the world. Everything that strays from that is biased in some way. Isn't it?
I am the same, but I see everything from the C++ perspective.
So the point is, since you are used to working with it and is a C programmer at heart, it would be nice for you. But in reality it's horrible, difficult and a menace. It requires years of experience to use properly, and even then, it's entirely possible to make numerous mistakes. Not a very friendly environment.
Frameworks--especially C++ frameworks since C++ allows for more things than C--cut down on this. A lot.
You know, the capabilities of c++ can have a bad effect on people. For example, Elysia, you can't understand win32, you find it too complex. Just because win32 was written in c, you are closed to new ideas about it. So i'm starting to think that c++ takes the ability of complex thinking from you.
And there is no need to insult programmers working on a specific language. C++ might be better, but C alone does the job, too.
I suppose there is a point there... although my roots are in Pascal, not C. If there was an up to date version of pascal with full winapi support and unicode support, I'd be there in a heartbeat... But there isn't, Borland killed it.
But I fail to see how a "framework" consisting amost entirely of wrappers around WinApi functions does anything except make the end-user code bigger and slower.
For you as a programmer they will make life easier but that's not we're after, is it? Shouldn't we be mostly concerned about handing the end user the best, most efficient code possible; no matter what language we write in?
I am well versed in Win32. To a degree anyway. It's horrible. It's complex, and it's disgusting. Not only because it's pure C, but because of its complexity.
This isn't about C or C++: if you use C, then go ahead, use the API. It might not be too horrendous. But to a C++ programmer, the API is horrendous. It will create bugs, and it will create substandard code for the language. And that is because C++ has tools which C does not, and the API can obviously not use those.
A prime example are handles. They must be closed properly. So you must call CloseHadle or relevant functions. But what if you forget? C++ can take care of that for you. But you'd have to write wrappers for that yourself. Or use a library which handles it for you.
Yes, the end user is what matters. And how much longer development time and bugs will you create because you use the API instead of a framework that handles most of the work for you?
The point of wrappers and frameworks is to reduce complexity. It will create an overhead, yes. But it will also reduce development time to achieve something and because it reduces complexity, it reduces the chance for bugs, which means less buggy software and a shorter development cycle.