J'utilise le livre Objective-C Programming de Big Nerd Ranch, et cela commence par nous faire écrire en C dans les premiers chapitres. Dans l'un de mes programmes qu'il me fait créer, j'utilise la fonction de sommeil. Dans le livre, il m'a dit de mettre #include <stdlib.h>
sous la #include <stdio.h>
partie. Ceci est censé éliminer l'avertissement qui dit "La déclaration implicite de la fonction 'sleep' n'est pas valide en C99". Mais pour une raison quelconque après avoir mis #include <stdlib.h>
, l'avertissement ne disparaît pas .. Ce problème n'empêche pas le programme de bien fonctionner, mais j'étais juste curieux de savoir sur quoi #include
je devais l'utiliser!
124
Réponses:
La page de manuel de sommeil indique qu'il est déclaré dans
<unistd.h>
.Synopsis:
la source
sleep
est une fonction non standard.<unistd.h>
.Sleep
c'est plutôt de<windows.h>
.Dans tous les cas, consultez la documentation.
la source
voici ce que j'utilise pour un code multiplateforme:
la source
Car
sleep()
ça devrait êtrela source
sleep(3)
est dedansunistd.h
, nonstdlib.h
. Tapezman 3 sleep
sur votre ligne de commande pour confirmer votre machine, mais je suppose que vous êtes sur un Mac depuis que vous apprenez Objective-C, et sur un Mac, vous en avez besoinunistd.h
.la source