No puedo tirar una línea más de código, NO ME DEJA!!!!!!

Juanito
17 de Agosto del 2004

Hola, estoy implementando un compilador en C++, pero ya no puedo continuar, me ha salido el siguiente mensaje y no puedo avanzar:

Fatal: exceeded memory limit for block CODE in module ....

Este error ya me había salido hace unos mese, pero desinstalé y volví a instalar el Borland C++ 5.02 varias veces y se solucionó el problema, cosa que ahora no ha sucedido.

Alguien sabría decirme cuáles pueden ser los motivos de que surja este error???. Como información decir que tengo más de 15000 líneas de código y que utilizo bastante memoria.

Muchas gracias.

Juanito
17 de Agosto del 2004

Hay algún límite de líneas de código para un fichero cpp???.

Alejandro_
17 de Agosto del 2004
Hola;
Prueba a dividir el cpp en varios más chicos.
También, si fuera posible, podrías definir los std::vector como static.

Otra opción, que no sé si tenga que ver con el problema, puede ser que utilices un compilador más nuevo. Borland puso su versión 5.5 freeware (busca la dirección en este mismo foro o en el sitio de Borland).

Alejandro

Juanito
17 de Agosto del 2004

Estoy dividiendo el programa en varios módulos más, ya he quitado unas 2000 líneas, pero sigue dando el mismo problema,

También he probado con el nuevo compilador, pero me ha dado otro tipo de errores, que casi vienen a ser el mismo.

Gracias.

Alejandro_
17 de Agosto del 2004
hmm

Quizás, si hicieras que los cpp no pasen de un par de pantallas cada uno... De todos modos, no creo que convenga escribir archivos que resulten difíciles de leer.

Otra posibilidad: si estás usando "cabeceras precompiladas", deshabilita esa opción, a ver qué pasa.

Y si no, me doy...

Alejandro

Juanito
17 de Agosto del 2004

Me han comentado que puede ser por la memoria virtual o la paginación del ordenador, y me han aconsejado que la amplie. Lo he hecho, pero sigo igual.

Alguien sabe de esto???

Gracias.

&§®?
17 de Agosto del 2004
una pregunta estas utilizando el modo grafico y escribiendo con outtextxy, si es asi entonces debes tener muchas mensajes escritos con outtextxy, una ves me sucedio igual reduje solo los mensajes y ya no me molesto pude seguir añadiendo mas codigo y si no utilisas el modo grafico entonces no se que puede ser

Juanito
17 de Agosto del 2004

No uso el modo gráfico ni escribo con outtextxy.

Es como si me hubiese pasado de la memoria asignada al compilador, y respecto a esto una profesora me ha comentado que a ella le pasó lo mismo y modificando la memoria virtual o la paginación lo resolvió, pero yo he estado tocando la memoria virtual y nada.

Gracias.

Drizzt
17 de Agosto del 2004
Es posible que tengas una version pirata del programa?

Juanito
17 de Agosto del 2004
Sí, supongo que es una versión pirata.

chuidiang
17 de Agosto del 2004
No sé si es tu problema, pero puedes reducir tamaño de código si no declaras arrays como variables locales o globales, sino utilizando new y delete (o alloc y free).

Puedes probar buscando el array más grande que tengas y declarandolo como un puntero y haciendo new y delete cuando te haga falta, a ver si así te deja más código.

Se bueno.

Juanito
17 de Agosto del 2004

Para todos los vectores que necesito los he creado a partir de la clase vector que proporciona la STL.

Este problema ya lo tuve hace un tiempo, y hasta ahora he estado tirando líneas de código.

Gracias.