Autor
|
Tema: [Resuelto] Evitar avisos Code::Block (Leído 4,927 veces)
|
CSQCasimiro
Desconectado
Mensajes: 20
|
hola como andan? espero que bien, yo de nuevo por acá jeje, tengo una duda con la instancia de compilación que realiza el IDE Code::Block... es posible evitar que me marque algunos avisos ? por que tengo una función que uso mucho pero por no ser muy linda a la vista del Sr.GCC siempre me tira avisos sobre la misma :P y... ya es molesto >.<
si alguien conoce un método para evitar esos avisos le agradeceré mucho :D
desde ya muchas gracias. y buena suerte.
|
|
« Última modificación: 10 Septiembre 2012, 18:14 pm por CSQCasimiro »
|
En línea
|
"Mejora el Algoritmo, no el Código" "Buscando todos los días ser mejor que ayer"
|
|
|
avesudra
Desconectado
Mensajes: 724
Intentando ser mejor cada día :)
|
Pon la función aquí a ver si podemos solucionar lo del aviso , de momento , en el nombre del proyecto que sale a la izquierda de la interfaz donde salen los archivos clicas y le das a Properties , después a Project Build Options (encima del OK) , y desactivas la cuarta opción : Enable all computer warnings... blablabla Algunas cosas que no son buenas y pueden dar error casi seguro si las dice eh. Y si no quieres que te salga ningún aviso en ningún proyecto , te vas a Settings -> Compiler and Debugger y activas la sexta opción : Inhibit all warning messages[-w] o suspender todos los mensajes de aviso. ¡Un saludo y postea esa función!
|
|
« Última modificación: 9 Septiembre 2012, 01:46 am por avesudra »
|
En línea
|
Regístrate en
|
|
|
CSQCasimiro
Desconectado
Mensajes: 20
|
gracias, era eso :D, lo de la función es lo de menos ,el aviso era por que mandaba un parámetro sin inicializar , pero no hacia falta por que lo sobrescribía mas tarde con malloc... muchas gracias :D solo si alguien le sirve en algún futuro... le paso la función, crea un vector que contiene toda la información de un archivo usando malloc, solo le indicas la ruta del archivo, un puntero a la estructura a usar, y el tamaño de la estruc (sizeof) void* Carga_enMalloc(const char* ruta, void* registro, size_t tam) { int cant; FILE *f; error_archivo("\t ERROR: no se pudo abrir el archivo - T x 69", &f); cant=Cant_registros(ruta, tam); fread(registro , tam , cant , f ); return registro; }
lo del aviso, se por que se genera, y que el return de la funcion esta de mas, pero cuando ya tenia el programa avansado al notarlo, no tuve ganas de cambiarlo (soy vago -_-)
|
|
« Última modificación: 9 Septiembre 2012, 03:40 am por CSQCasimiro »
|
En línea
|
"Mejora el Algoritmo, no el Código" "Buscando todos los días ser mejor que ayer"
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
[alex@Sylbit Samples]$ clang test.c test.c:11:5: warning: implicit declaration of function 'error_archivo' is invalid in C99 [-Wimplicit-function-declaration] error_archivo("\t ERROR: no se pudo abrir el archivo - T x 69", &f); ^ test.c:13:10: warning: implicit declaration of function 'Cant_registros' is invalid in C99 [-Wimplicit-function-declaration] cant=Cant_registros(ruta, tam); ^ 2 warnings generated. /tmp/test-pRTIEG.o:test.c:function Carga_enMalloc: error: undefined reference to 'error_archivo' /tmp/test-pRTIEG.o:test.c:function Carga_enMalloc: error: undefined reference to 'Cant_registros' clang: error: linker command failed with exit code 1 (use -v to see invocati 1) error_archivo() y cant_registros() que onda? faltan 2) La funcion la reescribiria, la veo muy mal ...pero como falta codigo hay posibilidad de que lo que yo crea erroneo, no lo sea, doy beneficio a duda ... por lo pronto noto algo sospechoso aca: error_archivo("\t ERROR: no se pudo abrir el archivo - T x 69", &f); f ya es puntero (FILE*), al agregarle el operador & estas pasandolo a puntero a puntero (FILE**), lo cual no creo que sea tu intencion.
no ser muy linda a la vista del Sr.GCC siempre me tira avisos sobre la misma y... ya es molesto >.< El Sr. GCC compila lo que tiene que compilar, y si hay código que formalmente (en lo "estándar") es válido, pero en runtime u otro tipo de circunstancias causa problemas o es mala práctica ... tiene que avisartelo. No tiene nada que ver con que sea "lindo" o "no" (ojalá lo hiciese, ojalá) El problema no lo tiene GCC, lo tiene usted ... dicho en pocas palabras y con poca delicadeza Saludos. P.S → Rara vez los warnings ("avisos") los emite el compilador por que le parece ... usualmente es por que estas haciendo algo MAL, y el compilador te informa (o sea, es codigo legitimo, pero erroneo)
|
|
« Última modificación: 10 Septiembre 2012, 02:50 am por Alex Mtx »
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
gracias, era eso , lo de la función es lo de menos ,el aviso era por que mandaba un parámetro sin inicializar , pero no hacia falta por que lo sobrescribía mas tarde con malloc Lo primero que haces con "registro" es asignarle un valor, por ello no debería ser un parámetro sino una variable local. Si apenas empiezas lo mejor es utilizar el compilador en el modo mas estricto posible. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
xiruko
Desconectado
Mensajes: 438
|
Lo primero que haces con "registro" es asignarle un valor, por ello no debería ser un parámetro sino una variable local.
supongo que declarara la variable en el main y en esta funcion ya lo hace todo, la inicializa con malloc y luego la carga de datos, para devolver el puntero con todo ya hecho. un saludo!
|
|
|
En línea
|
|
|
|
CSQCasimiro
Desconectado
Mensajes: 20
|
supongo que declarara la variable en el main y en esta funcion ya lo hace todo, la inicializa con malloc y luego la carga de datos, para devolver el puntero con todo ya hecho.
un saludo!
exacto ! , por eso decía que la función era lo de menos, por que no quería que se rompan el coco entendiéndola ajaj el aviso lo genera por que recibe una variable puntero con basura y al detectar que realizan operaciones sobre ella salta el warning, pero como me es indistinto por que la sobre escribe usando malloc, ese aviso esta de mas y era molesto jaaj
|
|
|
En línea
|
"Mejora el Algoritmo, no el Código" "Buscando todos los días ser mejor que ayer"
|
|
|
xiruko
Desconectado
Mensajes: 438
|
el aviso lo genera por que recibe una variable puntero con basura eso tiene facil solucion: FILE *f=NULL;
un saludo!
|
|
|
En línea
|
|
|
|
CSQCasimiro
Desconectado
Mensajes: 20
|
eso tiene facil solucion: FILE *f=NULL;
un saludo! casi pero no, el FILE *f es local a la función conflictiva, en todo caso deberia ser =NULL el puntero a que manda al compo bufer de la función, no se molesten mas en seguir contestando, se lo agradezco de verdad la ayuda que dan, pero no les quiero sacar mas el tiempo en algo que ya solucione :$ el viernes les subo el soft completo que no es mas que uno para practicar menues, malloc, estructuras y ABM de un archivo, para que de esa manera si alguien en algún futuro busca códigos de ejemplo de eso lo encuentre :P
|
|
|
En línea
|
"Mejora el Algoritmo, no el Código" "Buscando todos los días ser mejor que ayer"
|
|
|
xiruko
Desconectado
Mensajes: 438
|
perdona me confundi con lo de antes, me referia a: char *registro=NULL
en el main. aprovecho para decirte que no se por que haces que registro sea un puntero a void cuando esta apuntando a una cadena de caracteres. quizas algun warning era por eso... ni idea la verdad sin ver el code entero. en fin solo queria aclarar lo de antes un saludo!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
HP se queda parpadeando el block mayus y el block num simultaneamente-!!!
Hardware
|
genomma
|
0
|
19,206
|
10 Agosto 2010, 06:10 am
por genomma
|
|
|
[c++][IDE error] Code::block crash al debbugear.
Programación C/C++
|
anonimo12121
|
2
|
3,004
|
18 Febrero 2012, 17:06 pm
por Eternal Idol
|
|
|
[BATCH] [CODE] PUNTO DE VENTA [RESUELTO]
Scripting
|
ZeroxHack
|
3
|
4,035
|
21 Agosto 2012, 02:55 am
por Eleкtro
|
|
|
[Resuelto] Codigo de Apertura de PHP en Code Igniter
PHP
|
danny920825
|
2
|
3,072
|
28 Junio 2017, 22:47 pm
por danny920825
|
|
|
Which code block uses bubble sort?
Programación General
|
pixielott
|
1
|
2,605
|
15 Septiembre 2020, 17:30 pm
por MCKSys Argentina
|
|