La Web del Programador: Comunidad de Programadores
 
    Pregunta:  46927 - MANEJO DE MEMORIA EN CLIPPER
Autor:  Claudio_Andres Grboian
Programo en Clipper (R) Version 5.01 y el linkeo lo realizo con el RMAKE 1.3, los archivos .LNK y .RMK ya están armado por otra persona.
Quisiera bajar un manual (freeware) que me explicara como maneja la memoria este linkeador ya que estoy temiendo problemas por falta de memoria debido a que los programas son cada vez más grandes.

Aprovecho a saludarlos muy atte.

  Respuesta:  Juan Hernandez Medina
Hola, yo resolvi ese problema de la siguiente manera:

Para compilar hay que crear archivos de compilacion .CLP para generar las listas de los .PRG que componen mi aplicacion. Estos archivos .CLP pueden contener "n" numero de files .prg hasta que el compilador por falta de memoria para poder generar un .EXE satisfactorio te dice algo como TOO MANY SYMBOLS. cuando esto sucede solo hay que crear un nuevo file .CLP y retirar el ultimo file.prg de tu lista .clp anteior (la que ya se lleno). Por ejemplo utilizas los files: PRGS.CLP, PRGS2.CLP, PRGS3.CLP (YO no he utilizado mas de 3, aun con aplicaciones grandes).

Mi archivo de CLP1 (PRGS.CLP)

// La lista a continuacion son mis archivos .prg (la extension no se indica)
// /m (es el modo de compilacion como modulo independiente)

e_caja /m // programa principal
e_config /m // file de configuracion
e_acceso /m // password
e_ayudas /m // sist. ayudas
e_dirusr /m // Usuarios del sistema
.
.
.
etc

Mi archivo de CLP2 (PRGS2.CLP

e_HabCaj /m // Habilitar caja
e_emirec /m // emite Recibo de venta
e_canrec /m // Cancela recibo
e_prnrec /m // imprime recibo
.
.
.
etc

todos son archivos ASCII o texto con sus respectivas terminaciones CLP, BAT, PRG

Mi archivo de compilacion (c.bat)

clipper @PRGS
if not errorlevel 1 clipper @PRGS2
if not errorlevel 1 rtlink file PRGS,PRGS2 out MIEXE

CONSERVAS DUDA? CON GUSTO RESPONDO TUS MENSAJES

  Respuesta:  Antoni Masana Masana
Supongo que el linkeo lo realizas con el RTLINK, porque no es funcion del RMAKE.
A parte de este detalle quizas podrias cambiar el RTLINK por el BLINKER
Existen otras herramientas pero esta es la que conozco y utilizo y me ha resuelto bastante bien los problemas de memoria cuando el programa a crecido mucho.