web-dev-qa-db-ja.com

ソフトウェアがWin32名を使用するのはなぜですか?

ソフトウェア/ライブラリがWindowsプラットフォームをある程度サポートしている場合、ほとんどの場合、ディレクトリと変数にはwin32と名前を付けます。これは、C/C++プロジェクトで最も一般的です。 MinGW プロジェクトのターゲットトリプルでもwin32を使用します。これには理由がありますか? WindowsやMicrosoft Windowsのような適切な名前を使用しないのはなぜですか?命名の選択に関して法的な問題はありますか?

この質問はAPIではなく、使用されている命名規則に関するものです。ライブラリが他のオペレーティングシステムをサポートする場合、ライブラリはlinuxfreebsdなどの適切な名前、または必要な特別なサポートを使用することがよくあります。しかし、Windowsの場合、win32と略されることがよくあります。これは、他のものと比べて少し奇妙に見えます。

32
Unmanned Player

Win32は、Windows APIの通称です。このAPIは、アプリケーションがオペレーティングシステムとインターフェースする方法を指定します。 UnixのPOSIX標準とほぼ同じですが、Win32はGUIやその他の多くの機能もカバーしています。

Win32 APIは、32ビットWindowsインストールに限定されません。

Windows Dev Center から:

Windowsアプリケーションプログラミングインターフェイス(API)を使用すると、各バージョンに固有の機能を利用しながら、すべてのバージョンのWindowsで正常に動作するデスクトップアプリケーションとサーバーアプリケーションを開発できます。

Windows APIはすべてのWindowsベースのデスクトップアプリケーションで使用でき、同じ機能が32ビットおよび64ビットWindowsで一般的にサポートされています。プログラミング要素の実装の違いは、基盤となるオペレーティングシステムの機能によって異なります。これらの違いはAPIドキュメントに記載されています。

これは、以前はWin32 APIと呼ばれていました。 Windows APIという名前は、16ビットWindowsのルーツと64ビットWindowsでのサポートをより正確に反映しています。

Windows用に開発するためにWin32 APIを使用する必要はありません。代替は、.NETクラスまたはWindows RTインターフェースです。

技術的にはWin64の亜種があります。ただし、Win32とは主にデータモデル(ポインタのサイズ)が異なります。 APIの明確なセットではありません。

Win64 API環境は、Win16からWin32への大幅な移行とは異なり、Win32 API環境とほとんど同じです。 Win32 APIとWin64 APIが結合され、Windows APIと呼ばれるようになりました。 Windows APIを使用すると、同じソースコードをコンパイルして、32ビットWindowsまたは64ビットWindowsのいずれかでネイティブに実行できます。アプリケーションを64ビットWindowsに移植するには、コードを再コンパイルするだけです。

Windowsヘッダーファイルは、32ビットコードと64ビットコードの両方で使用できるように変更されています。 ( ソース

Win64は実質的に異なっていないため、ソースコードレベルでwin64をターゲットとするプロジェクトはほとんど決して表示されませんが、新しいプロジェクトはwinapiではなく従来のwin32。しかし、すべての実用的な目的のために、これらの名前はすべて同じAPIを指します。

61
amon

Windows APIは30年以上前のものであり、PCが16ビットだった頃から存在していたため、32ビット、Win32、Win64の順になりました。 Windows開発にはプラットフォーム依存があり、アーキテクチャのOSライブラリ(dll)と一致するコードが必要です。

https://en.wikipedia.org/wiki/Windows_API#Versions

Win32に対してビルドされたWindowsアプリケーションは、32ビットアーキテクチャで実行され、Win32サブシステムを提供するWindowsオペレーティングシステムによって64ビットで実行されるため、Win32アプリは最新の64ビットWindows OSで実行されます。

Win32ビルドは時間の経過とともに次第に少なくなっていますが、おそらくwin32はすぐには完全にフェードアウトしないでしょう。 win32ビルドが段階的に廃止されると、おそらくwin128が存在し、win64が新しいwin32になるでしょう。

29
Thomas Carlisle