2013-07-16 32 views
1

我得到以下警告後,給予警告呢?「退出」甚至包括<code><stdlib.h></code></p> <p><code>warning: incompatible implicit declaration of built-in function ‘exit’</code></p> <p>是否有人知道爲什麼這是給後甚至包括<stdlib.h>

void Check_file(char *filepath) 
{ 
     if(access(filepath, F_OK) == -1) { 
       printf("\nUnable to access : %s\n",filepath); 

       exit(1); 
     } 
     return; 
} 
+4

發佈完整的代碼 – sujin

+1

您應該'#include'所有的''爲'exit'和''爲'access'和''爲'printf';與所有3包括,我不會在Debian/Sid上用'gcc -Wall -c'得到警告;然而,;我建議使用'perror'或'strerror'(所以也包括''和'string.h')。你可能想編寫'exit(EXIT_FAILURE)'來提高可讀性! –

+1

您可以將'-H'傳遞給'gcc'來理解包含哪些文件。 –

回答

1

當提供正確的包含文件時,您的程序compiles without complaint

#include <stdio.h>    /* needed for printf */ 
#include <stdlib.h>    /* needed for exit */ 
#include <unistd.h>    /* needed for access and F_OK */ 
void Check_file(char *filepath) 
{ 
     if(access(filepath, F_OK) == -1) { 
       printf("\nUnable to access : %s\n",filepath); 

       exit(1); 
     } 
     return; 
} 
int main() { return 0; }