The Windows API (application programming interface) is used in the development of desktop and server applications and is commonly referred to as Win32. The Win32 interface comprises an extensive collection of system-defined functions and other programming elements that provide a program with access to the operating system. All Windows programs, except console programs, must interact with the Windows API regardless of the language. These API functions are contained in Dynamic Link Libraries (DLLs) which a program must access when it is executed. The API is programmed in either C or C++. The Win32 API is the platform of choice for applications that need the highest level of performance and direct access to system hardware.
MFC was was introduced in 1992 and developed to simplify the process of windows application development. The MFC library sits on top or wraps portions of the Windows API in C++ classes meaning that direct Windows API calls are rarely needed. Programs create objects from these MFC classes and call member functions belonging to those objects. The main advantage of this approach is ease and speed of development application by providing per-written code. MFC offers all the advantages normally associated with programming in C++.
Microsoft also provides a C++ class library that sits on top of or “wraps” the Windows API. Known as the Microsoft Foundation Class (MFC); this application framework consists of a set of classes, functions, and data types to simplify the creation of applications for Windows. In addition to encapsulating the Windows API and reducing the coding burden, MFC offers all the advantages normally associated with programming in C++.
.NET Framework is a more recent software framework developed by Microsoft for creating Windows applications. It comprises an extensive class library but, in contrast to MFC, supports various programming languages such as Visual Basic and C#. Programs written for the .NET Framework are executed in a virtual software environment (in contrast to a hardware environment) known as the Common Language Runtime (CLR). The CLR provides managed execution; transforming source code into byte-code known as Common Intermediate Language (CIL) and also performs services such as garbage collection and memory management. In addition to the aforementioned language interoperability, applications built on the .Net framework can be made to work on any Windows platform.
Although the Windows API is built around the C language, the API can be utilised by any language or compiler than can handle the low-level data structures along with associated calling conventions for calls and callbacks.
Compiler support -The Windows Software Development kit (SDK) provides tools, compilers, headers and libraries that a developer’s needs to create applications that will run on Microsoft Windows. To develop software that can access the Windows API, a compiler must be able to utilise Microsoft-specific libraries. Besides Microsoft Visual studio, the following compilers can all be used to develop software that uses the Windows API
Watcom
Pellesc
MinGW-32/64
LCC
Cygwin
This email address is being protected from spambots. You need JavaScript enabled to view it.