If a software/library has some support for the Windows platform they almost always name their directories and variables as win32
. This is most prevalent in C/C++ projects. Even the MinGW project's target triple uses win32
. Is there a reason for this? Why not use a proper name like Windows or Microsoft Windows? Is there a legal snag around the naming choice?
This question is not about the API, but the naming convention in use. When a library supports other operating systems, they often use the proper names like linux
, freebsd
or whatever special support needed. But when it comes to Windows, it's often abbreviated as win32
which seems a bit odd compared to the rest.
Best Answer
Win32 is the customary name for the Windows API. This API specifies how applications can interface with the operating system. It is roughly comparable with the POSIX standard on Unix, but Win32 also covers GUIs and many other features.
The Win32 API is not limited to 32-bit Windows installations.
From the Windows Dev Center:
You do not have to use the Win32 API to develop for Windows. Alternatives are the .NET classes or the Windows RT interface.
There technically is a Win64 variant. But it differs from Win32 mostly in the data model (the size of pointers). It is not a distinct set of APIs:
Because Win64 is not substantially different you will almost never see projects targeting
win64
on a source-code level, though newer projects might targetwinapi
instead of the traditionalwin32
. But for all practical purposes all these names refer to the same API.