Pregunta: | 162 - VECTORES EN VISUAL C++ |
Autor: | Willser |
Estoy diseñando un programa con Microsoft Visual C++ 1.0 y MFC 2.0 con imágenes .BMP, .TIF y/o .GIF, de 512*512, para aplicarles algunos algoritmos de analisis, lo que se me ocurre es bajar el archivo a un vector de [512][512], pero tengo algunos problemas: 1. No es posible crear un vector que supere los 64Kb. A pesar de que compile en modo ´Large´ y ´Huge´. 2. Alguien me sugirió usar el tipo ´huge´ en la declaración del vector que es de tipo ´unsigned char´, pero éste solo me ha funcionado en Borland C++ para DOS, en Modo ´Large´. 3. Ante esto, quise usar una lista enlazada que simule un vector 2D, pero creo se demora un poco más. 4. Además, Desconozco el formato de éstos archivos. 5. ¿Ah. ¨Y Cómo puedo modificar el contenido del archivo, habiendo bajado y modificado los datos a un vector o a una lista enlazada?. 6. Este es el código utilizado pero lee 262279 Bytes y realmente son 262144=512*512 Bytes. |
Respuesta: | Jaime Calahorrano |
Si esta utilizando un sistema operativo de 16 bits, cambiese a uno de 32 como Windows 95. Ahi no tiene que preocuparse del huge. En medida de lo posible migre a Visual 4.2 o superior. En este puede manejar vectores sumamente grandes sin importar el tipo de dato a utilizar. Y no tiene el limite de los 64k. No hay ningun problema en migrar de borlandc a visual. |
Respuesta: | Daniel Osuna |
Si estas programando para entorno Windows, puedes utilizar el siguiente código para usar array´s mas grandes de 64k.// defines variable globales |