API (Application Programming Interface) は、システム(OS)が用意している、アプリケーションを作るための関数群です。
Windows 3.1までの16bitシステム用をwin16、Windows 95以降の32bitシステム用をwin32と区別して呼ぶこともあります。
Windows APIプログラムのソースコードの冒頭では、windows.h というヘッダファイルを読み込みます。
このヘッダファイルには、Windows APIで使われる型や識別子が定義されています。
アプリケーションは、システムから、そのアプリケーションのメイン関数を呼び出すことで起動します。
ほとんどのプログラミング言語のメイン関数は、main という名前ですが、Windows APIプログラミングでは、WinMain という名前になっています。
#include <windows.h>
#include <stdio.h> // for printf
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
printf("Hello world!\n");
return 0;
}
コマンドプロンプトに、次のように入力します。
// コンパイル -mwindowsオプションはつけません
gcc main.c -o main
// 実行
main
// 実行結果
Hello world!
Visual Studioの場合はソースコードが少し違います。OutputDebugStringというデバッグ用の関数が用意されています。
#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
OutputDebugString(TEXT("Hello world!\n"));
return 0;
}