Esta es mi advertencia.
implicit declaration of function 'exit'
Como puedo quitarlo.
estoy usando el compilador linux y gcc.
Agregar:
#include <stdlib.h>
a la parte superior de su programa.
-
@Greg Hewgill: En mi programa, no he usado
#include <stdlib.h>
y recibo esta advertencia solo cuando uso-Wall
opción. De lo contrario, el programa compila bien y el ejecutable se ejecuta correctamente. Esto significa que gcc de alguna manera puede vincular el archivo sin que yo lo incluya. ¿Cómo está pasando eso?– Lazer
6 mayo 2010 a las 16:13
-
@eSKay: Las declaraciones implícitas son permitido en C a menos que use el
-Wmissing-protypes
interruptor de advertencia (que se enciende-Wall
).– Greg Hewgill
6 mayo 2010 a las 19:17
Tienes este preprocesador? Si no, añádelo.
#include <stdlib.h>
exit() es una función de biblioteca, los respectivos prototipos están presentes en el stdlib.h archivo de encabezado, para llamar al proceso al código especificado para la función de salida, debe adjuntar el como #include stdlib.h encabezado en su programa. esa es la razón por la que debemos agregar el encabezado stdlib.h. aunque puede ejecutar el programa, pero muestra el mensaje de advertencia como a continuación:
warning: incompatible implicit declaration of built-in function ‘exit’ [enabled by default]
pero, este tipo de programa no es recomendable, tenemos que cuidar lo que nos dan en el programa, tener cuidado. La advertencia puede conducir a un error de tiempo de ejecución.
man 3 exit
le mostrará el encabezado a incluir.– Roger Paté
9 de marzo de 2010 a las 7:01