Different Technologies for C++ Development-Collection of common programming errors


  • msdn Hello,I am a newbie when it comes to developing in Visual C++.  What I want to do is create windows applications only.What I want know is what are the different technologies such as ATL, CLR, MFC, and Win32 in a nutshell?  Why are there so many?  What is each used for?Thanks,techctzn

  • msdn1 ATL: class library for developing COM components CLR: class library and runtime environment for developing Windows programs in managed code MFC: class library for developing Windows programs Win32: raw native API, no classes CLR is by far the easiest way to develop Windows programs.  Doing so in C++ is however not recommended, C# is the better choice with much better support in the IDE.  If you prefer unmanaged C++, you should choose MFC.

  • msdn2 COM is the Common Object Model that is used for unmanaged code, and allows DLL’s to be built that are language-independent. That means you can use VB6, Fortran, VB.NET, or whatever, to call a DLL written in a different language. Readm more about it here. DCOM is distributed COM, and means the client code may call another executable in the same manner as a DLL, and indeed that the executable may be running on a completely different machine.ATL is used as a framework to build COM and DCOM applications.

    The CLR is Common Language Runtime and is the foundation for .NET applications. Read about it here.

    MFC is used for building unmanaged windows applications. Lots of material to read here.

    For all this material, put your favourite search engine to use.


  • msdn3 COM is the Common Object Model that is used for unmanaged code, and allows DLL’s to be built that are language-independent. That means you can use VB6, Fortran, VB.NET, or whatever, to call a DLL written in a different language. Readm more about it here. DCOM is distributed COM, and means the client code may call another executable in the same manner as a DLL, and indeed that the executable may be running on a completely different machine.ATL is used as a framework to build COM and DCOM applications.

    The CLR is Common Language Runtime and is the foundation for .NET applications. Read about it here.

    MFC is used for building unmanaged windows applications. Lots of material to read here.

    For all this material, put your favourite search engine to use.


  • msdn5

    Thank you Brian!

    I do understand there is a lot of material out there however I had read through a lot already and I just needed the gist of the material i.e. a starting point.  It is often bewildering to wade through the material only to find yourself drowning in a few feet of it.  🙂  Thank you for understanding.

    techctzn