простой код, ничего сложного
#include <stdio.h>
#include <unistd.h>
int main() {
while(printf("nanosleep happens\n")) {
usleep(1000000);
}
}
$ c89 nanosleep.c
$
$ c99 nanosleep.c
nanosleep.c: In function ‘main’:
nanosleep.c:7:3: warning: implicit declaration of function ‘usleep’ [-Wimplicit-function-declaration]
usleep(1000000);
^
$
Не могу понять почему идет ругань на отсутствующее объявление нужной функции, я же подключил unistd.h. Что изменилось при смене стандарта?