cygwinで1秒未満のスリープを行う

C言語でプログラムを作成時にスリープ処理を行いたい場合、Cの標準ライブラリ関数だとsleep()関数を使用します。ですが、sleep()関数で指定する値の単位は秒なので、1秒未満のスリープを行う事が出来ません。

Visual C++等、Windows環境だとWin32APIにSleep()というものがあり、ミリ秒単位でのスリープが行えるのですが、cygwinでもこの関数が使用できるようです。

#include<stdio.h>
#include<windows.h>
 
int main()
{
	printf( "test1\n" );
	Sleep( 100 ); /* 100msecスリープ */
	printf( "test2\n" );
}



上記のようにwindows.hをインクルードすれば、win32のAPIがコールできます。


ヘッダの場所は64bit環境だと以下のフォルダにあるようです。
 -> /usr/x86_64-w64-mingw32/sys-root/mingw/include/windows.h

32bitの場合は、環境が手元にないので憶測ですが、おそらく/usr/i686-pc-mingw32以下のヘッダを使用するような気がします。

関連記事

コメントを残す

メールアドレスが公開されることはありません。