C ライブラリと WinApi

C ライブラリには魔法のようなものは何もありません。これは、OS から一般的なサービスにアクセスするための標準化された API にすぎません。つまり、OS によって提供される API を使用して、OS 上に実装されます。

状況に応じて適切なものを使用してください。 C ライブラリは移植可能ですが、Win32 はそうではありません。一方、Win32 は多くの場合、より柔軟で、より多くの機能を公開しています。


関数は、ZeroMemory などのいくつかの単純なものを除いて、実際には同等ではありません。

たとえば、GlobalAlloc はメモリを提供しますが、win16 での共有メモリ転送にも使用されていました。この機能の一部はまだ存在します。

WriteFile は、ファイルに書き込むだけでなく、(特に) 名前付きパイプにも書き込みます。 fwrite または write が直接実行できないこと。

可能であればCライブラリ関数を使用し、追加の機能が必要な場合、またはパフォーマンスが向上する場合にのみWindows関数を使用することをお勧めします。

これにより、後で他のプラットフォームへの移植が容易になります。


おそらくあなたが探しているよりも多くの情報です (そして、あなたが尋ねたものとは正確ではないかもしれません) が、Catch22.net には、Win32 API 呼び出しと C ランタイム呼び出しの違いを指摘するのに役立つ「実行可能ファイルのサイズを縮小するためのテクニック」というタイトルの記事があります。