gcc4.8を使用しています。そして、スリープを使用してそのようなコードを書きました。
int main(int argc, char *argv[])
{
/* I know it's worong to pass a floating number to sleep
* this is only for testing. */
sleep(0.001);
return 0;
}
「gcc -Wall ac -o a」でコンパイルしたところ、「関数 'sleep' の暗黙の宣言 [-Wimplicit-function-declaration]」という警告が表示されました。それから私はそれを実行しました、このプログラムは約 1 秒スリープします (スリープ ceils 0.001 から 1 のようです)。
次に、コードを次のように変更します。
#include <unistd.h> /* add header file */
int main(int argc, char *argv[])
{
/* I know it's worong to pass a floating number to sleep
* this is only for testing. */
sleep(0.001);
return 0;
}
今回は0秒しか眠らず、睡眠階は0.001から0のようです。
これらの 2 つの睡眠は同一であるべきではありませんか?