Título: Dibujador de BMP -Error con chkstk_ms()... Publicado por: harry_the_blogger en 14 Enero 2016, 21:06 pm Hola, estoy haciendo un programa que crea archivos bmp de las dimensiones que yo quiera, y lo rellene en gris, y listo. El programa para las dimensiones 100x100 funciona, pero más allá falla algunas veces, principalmente si es más de 1000;
¿Pueden decirme como eliminar ese error que dice SIGSEV en chkstk_ms()?? ¿Es mi codigo o sólo el compilador? Si uso valores en WIDTH Y HEIGHT de 100, todo normal. Si me paso a 10000, se tranca y devuelve en depuracion SIGSEV en un chkstk_ms(), y ni muestra el primer printf. ¿Debo reinstalar el compilador o algo así? Al menos el error debería ser puntual, y no general. Gracias de antemano. Código
Título: Re: Dibujador de BMP -Error con chkstk_ms()... Publicado por: Eternal Idol en 14 Enero 2016, 21:20 pm La pila es finita, usa memoria dinamica (o una variable global, que ira a la sección de datos)/
Título: Re: Dibujador de BMP -Error con chkstk_ms()... Publicado por: harry_the_blogger en 14 Enero 2016, 21:53 pm Ah, no entiendo bien eso. Gracias por responderme. Que me aconsejas exactamente?? Colocó el bmp header como un puntero??? y de allí lo grabó?? Es eso lo que me dices??
Disculpa por las molestias, no tengo mucho conocimiento sobre la pila y los punteros, el problema entonces no está en mi lógica de código?? Pregunto por si acaso. EDIT: 1 Ya hice algo, cambie el array a dinamico y me compilo sin problemas. Eso es lo que entendí. Gracias Una ultima ayuda. ¿Como traduzco esto Código
a un array dinámico pero de estructura?? Por favor, ayuda que es lo único que me faltta para empezar a dibujar sobre el Bitmap con total seguridad. Gracias de antemano Título: Re: Dibujador de BMP -Error con chkstk_ms()... Publicado por: T. Collins en 14 Enero 2016, 23:00 pm yo lo haría así:
Código pero así tendrías que accederlo de esta forma: Código
para accederlo de forma bidimensional, busca bidimensional dynamic array c en google Título: Re: Dibujador de BMP -Error con chkstk_ms()... Publicado por: furciorifa en 3 Febrero 2016, 05:09 am No entiendo porque mezclas C++ con C se me hace innecesario usar printf y cout en un programa además , si lo que estás usando es C++, deberías usar cstdio,cstdlib.... etc como debe ser pero en fin ... yendo a lo que es tú duda debes usar una pila dinamica o quizá una lista para que tú programa mejore. ;)
Título: Re: Dibujador de BMP -Error con chkstk_ms()... Publicado por: ivancea96 en 3 Febrero 2016, 15:58 pm Un detalle para cuando leas o escribas BMP, a parte de lo que te comenten por aquí.
Cuando comienzas a escribir los bytes, cada fila ha de ocupar un número de bytes divisible entre 4. Es decir, si hay 2 columnas, serían 6 bytes. Para ocupar los bytes que faltan, se añaden dos bytes de relleno o padding. Para una idea menos abstracta, aquí tienes un ejemplo: https://en.wikipedia.org/wiki/BMP_file_format#Example_1 (https://en.wikipedia.org/wiki/BMP_file_format#Example_1) |