CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 5 of 5
  1. #1
    Join Date
    Jan 2009
    Posts
    24

    Unhappy What is the difference between win32api,win32,vc++,mfc (etc...) anything is helpful.

    What is the difference between win32api, win32, vc++, mfc, and others? (If you know the other ones please post a comment)
    And... what do you guys think about open-source ones like wxwidgets, Qt, and GTK?
    Which one is the best (out of all of them, not just the open ones) and for what conditions?
    I've been google-ing for like 3 hours now. Any thoughts are helpful.

  2. #2
    Join Date
    Mar 2001
    Posts
    2,529

    Re: What is the difference between win32api,win32,vc++,mfc (etc...) anything is helpf

    Win32 programs are created with the Win32 API or Application Programming Interface. MFC is a rational subset of Win32 created with a set of C++ classes. It is quite a bit simpler and quicker, although it is still possible to have Win32 API calls within an MFC program.

    Actually there is Win32 for Linux. The problem is that it towers on top of alot of graphics APIs like Phigs and Pex. With Virtualization and products like VMWare and Xen, however it is possible to get away from needing portability all the time.

    I think wxwidgets are great because they are portable. QT is portable too and people are always singing its praises. I think GTK is pretty specific to Linux.
    ahoodin
    To keep the plot moving, that's why.

  3. #3
    Join Date
    Nov 2007
    Posts
    92

    Re: What is the difference between win32api,win32,vc++,mfc (etc...) anything is helpf

    You forgot to mention WINE.

    Also, GTK is on FreeBSD, Solaris & OpenSolaris... I think.

  4. #4
    Join Date
    Mar 2001
    Posts
    2,529

    Re: What is the difference between win32api,win32,vc++,mfc (etc...) anything is helpf

    I don't think forgot is the correct descriptor. Filtered out is more correct. Thanks for contributing though.
    ahoodin
    To keep the plot moving, that's why.

  5. #5
    Join Date
    Nov 2006
    Posts
    1,611

    Re: What is the difference between win32api,win32,vc++,mfc (etc...) anything is helpf

    I have a recent post around here on the subject (wxWidgets and QT mentioned).

    You asked about VC++. That's the Visual C++ from Microsoft, and the name applied all the way back to versions that targeted Windows 3.1 (16 bit). These days VC++ is in Visual Studio, and includes the ability to write code for .NET using C++/CLI. It is otherwise just a C++ compiler, and in the recent one (Visual Studio 2008) it's fairly good, some might say excellent. Any of the frameworks (wxWidgets, QT) and API's (Win32) that target Windows can be compiled using it. Other compilers, like GCC, are available, but MFC isn't available outside VC++ (though in theory they could use it, MFC is licensed for use with VC++). I've not used Borland's compilers for a long time, and there was word that MFC was available for it, too. Many developers prefer Borland, and in the earlier days of C++ Borland was the most current compiler targeting Windows applications.

    wxWidgets is a good framework, but it's a bit old fashioned in design. One body of application code can be compiled for Windows, Linux and MAC (using Carbon). MAC targets built with wxWidgets are recognizable as such by MAC purists who insist on Cocoa based targets. Development in wxWidgets is quite similar to development in MFC in basic application targets. There are some better conveniences for managing images and PDF output. I've not examined the most recent version, but previous versions used their own wxString class as opposed to MFC's use of CString. Also, tools for designing dialogs are external to wxWidgets - you either have to purchase one or code by hand. Many feel that the resource editor for creating dialogs for MFC in Visual Studio is far preferable, but if your targeting multiple platforms wxWidgets is quite good.

    QT is expensive for commercial development (i.e. anything but free software). You can get the framework for free, with source, but if you're going to sell your targets you must pay for the license. It is a more modern design than wxWidgets, targets similar operating systems and will (if not yet) provide for a Cocoa based application on MAC (though it's going to be a forced fit). Cocoa uses a language called Objective-C, and the last I looked at QT's solution the results will be mixed until newer versions are released.


    Like I pointed out in the other post on this subject, it isn't possible to declare which framework or approach is best without some context. Since MFC is Windows specific, it's not going to be 'best' for Linux targets. MFC currently targets the most current Windows OS, but not .NET (which you haven't asked about, but is yet another direction to consider). The type of application you're making helps determine which approach is best. I can say that C++ developers are generally loathed to design applications using Win32API directly because the general approach in the language is to encapsulate concepts which Win32API does not.
    Last edited by JVene; May 9th, 2009 at 10:06 AM.
    If my post was interesting or helpful, perhaps you would consider clicking the 'rate this post' to let me know (middle icon of the group in the upper right of the post).

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured