elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Warnings en gcc -Wall
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Warnings en gcc -Wall  (Leído 3,850 veces)
soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Warnings en gcc -Wall
« en: 4 Abril 2012, 00:34 am »

¡Buenas a todos!

Tengo los siguientes warnings en gcc y no se porque:

Warning 1:
Citar
sendPacket3.c: In function ‘CreateEthernetHeader’:
sendPacket3.c:120: warning: implicit declaration of function ‘ether_aton’

Código
  1. void * sourceMAC;
  2.        sourceMAC =(void *) ether_aton(src_mac);  //linea 120
  3.  
  4.  

Warning 2-3
Citar
sendPacket3.c: In function ‘sendPacket’:
sendPacket3.c:309: warning: pointer targets in assignment differ in signedness
sendPacket3.c:383: warning: implicit declaration of function ‘close’

Código
  1.        unsigned char *data;
  2.        int pkt_len;
  3.  
  4.        //data = CreateData(DATA_SIZE);
  5.        data="<html>HOLA</html>";  //linea 309
  6.        int DATA_SIZE=0;
  7.        DATA_SIZE=17;//strlen((const char *)data);
  8.  
  9.        /**************************************************/
  10.  
  11.        int raw;
  12.                 // por aqui sigen varias lineas de codigo....
  13.        close(raw);  //linea 383
  14.  

Warning 4
Citar
main.c: In function ‘main’:
main.c:16: warning: implicit declaration of function ‘atoi’

Código
  1.    int srcPort,destPort, seqnum, acknum, urg,ack,psh,rst,syn,fin;
  2.                srcPort=atoi(argv[3]); //esta es la linea 16...
  3.                destPort=atoi(argv[5]);
  4.                seqnum=atoi(argv[6]);
  5.                acknum=atoi(argv[7]);
  6.                urg=atoi(argv[8]);
  7.                ack=atoi(argv[9]);
  8.                psh=atoi(argv[10]);
  9.                rst=atoi(argv[11]);
  10.                syn=atoi(argv[12]);
  11.                fin=atoi(argv[13]);
  12.  
  13.  

¿Alguna idea de como solucionar estos warnings?


En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Warnings en gcc -Wall
« Respuesta #1 en: 4 Abril 2012, 02:00 am »

Citar
sendPacket3.c: In function ‘CreateEthernetHeader’:
sendPacket3.c:120: warning: implicit declaration of function ‘ether_aton’
la función ether_aton está declarada antes de esa línea ?, hay algún prototipo ?

Citar
sendPacket3.c: In function ‘sendPacket’:
sendPacket3.c:309: warning: pointer targets in assignment differ in signedness

En lugar de hacer esto:
Código
  1. unsigned char *data;
  2. data="<html>HOLA</html>";

Hacé esto:
Código
  1. unsigned char data[] = "<html>HOLA</html>";

Citar
sendPacket3.c:383: warning: implicit declaration of function ‘close’
Lo mismo que el primero. Fijate donde está declarada la función close.

Citar
main.c: In function ‘main’:
main.c:16: warning: implicit declaration of function ‘atoi’
Agregaste la librería stdlib.h ?


En línea

soyloqbuskas

Desconectado Desconectado

Mensajes: 218


¡El conocimiento es de todos!


Ver Perfil
Re: Warnings en gcc -Wall
« Respuesta #2 en: 4 Abril 2012, 02:24 am »

¡Buenas CrisQC!

Muchas gracias por tu ayuda. Tenias razon, mi problema estaban en las librerias. En el main.c necesitaba añadir la libreria stdlib.h. Lo del char *, le he declarado como me dijiste (array char) y me ha funcionado tambien, y lo del ether_aton() y el close() solo tuve que añadir la libreria que contenian esas funciones y me ha funcionado tambien! jeje

Lo que no entiendo es como las funciones ether_aton() y close() me funcionaban si tener incluidas las librerias que las contiene....deberia haberme dado errores de compilacion del tipo: "no esta declarada la funcion close()..." Pero imagino que esto se debe a que otras librerias que tengo incluidas acceden de manera indirecta a estas funciones y por eso me compilaba pero con warnings.

Muchas gracias.
En línea

"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw
Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Warnings en gcc -Wall
« Respuesta #3 en: 4 Abril 2012, 03:51 am »

Por nada, me alegro que lo hayas solucionado!.
Puede ser. Si existe el include en algún lugar y se declara la función no hay problema. No sé como estás trabajando, pero si estás usando un entorno de desarrollo ( code::blocks, VC .. ), tal vez hizo el trabajo por vos, evitando los errores y dándote warnings.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fase test: Mi intranet :: Matriculas - notas - pagos - etc :: Comentar Warnings
Desarrollo Web
Hadess_inf 5 3,213 Último mensaje 4 Julio 2010, 10:35 am
por Joker
Warnings en tratamiento de ficheros con C++ Builder XE
Programación C/C++
mario_tko 1 3,114 Último mensaje 15 Noviembre 2011, 16:01 pm
por do-while
warnings « 1 2 »
Programación C/C++
m@o_614 13 6,836 Último mensaje 31 Diciembre 2012, 01:23 am
por m@o_614
warnings en compilacion
Programación C/C++
ccsponcer3 3 2,978 Último mensaje 5 Junio 2016, 18:03 pm
por HardForo
Implementar warnings en compilador
Programación General
Adri124 0 1,713 Último mensaje 28 Junio 2016, 21:16 pm
por Adri124
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines