Overview
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 access to the operating system. These API functions are contained in Dynamic Link Libraries (DLLs) which a program must access when it is executed. All Windows programs must interact with the Windows API, regardless of the language. The API is programmed in either C or C++. The Win32 API is the platform of choice for GUI applications that need the highest level of performance and direct access to system hardware.
The Microsoft Foundation Class (MFC) library consists of a hierarchical tree of classes, functions, data types, and constants to simplify the creation of applications for Microsoft Windows.
MFC was introduced in 1992 and developed to simplify the process of Windows application development. The MFC library sits on top of or wraps portions of the Windows API in C++ classes, meaning that direct Windows API calls are rarely needed. Developers can create objects from these MFC classes and call member functions belonging to those objects. The main advantage of this approach is the ease and speed of application development by providing pre-written code. MFC also 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 that 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 the tools, compilers, headers, and libraries that a developer 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.