Archived

This topic is now archived and is closed to further replies.

Ekim_Gram

Difference between Win32 and MFC?

Recommended Posts

Guest Anonymous Poster   
Guest Anonymous Poster
MFC is disliked because Microsoft had two sets of programmers. those who wrote the code for the MFC, and then a seperate team devoted to making it the most cryptic, polluted, and non-standard API set available that would still compile.

Share this post


Link to post
Share on other sites
microdot    324
Win32 is an ever growing set of functions and structures used to write 32bit Windows Applications. It doesn''t use classes and other C++ features since it was created before C++ was the next big thing. MFC is a C++ wrapper for the Win32 API.

Share this post


Link to post
Share on other sites
ph33r    380
It''s more then just a wrapper for the win32 library, it is a framework and a very powerful framework at that.

Share this post


Link to post
Share on other sites
DerekSaw    243
MFC is a generic windows framework originally design to speed up creating window. As years pass on, it hope to capture as many type of windows app as possible... and that comes with a price - bizarre macro and evil wizard code. If you can live with it, it is fine.


Win32 API has a very large set of functions that deals with almost all aspect of MS Windows programming. That''s all I can say.

Share this post


Link to post
Share on other sites
antareus    576
All of these posts miss an important point.

MFC was designed to be a wrapper for Win32. It is decent at that.

However MFC was originally designed when C++ was little more than classes and virtual functions. As they upgraded it, C++ evolved (in the communal and compiler sense) more, but MFC had to stay the same because they had to retain compatibility with older apps written in MFC.

The result? What most people criticize as clunky, and I agree. Not to mention every single class uses the CClassname syntax (which I will add was used *ONLY* so that MFC class names wouldn''t collide with user class names. Hungarian notation be damned! Users using CClassname *completely* defeats the purpose of sticking C on the class name. You risk name collisions with MFC by prepending C on your classname. The Borland community has reported similar problems with people naming their classes TClassname because the VCL used TClassname.)

All of that nonsense could have been avoided by using namespaces.

Share this post


Link to post
Share on other sites