incluir ficheros en winape

Programando el Amstrad en Ensamblador.
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.

De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Avatar de Usuario
Fran123
Me voy lanzando
Me voy lanzando
Mensajes: 74
Registrado: Lun 24 Feb , 2020 2:44 pm

incluir ficheros en winape

Mensajepor Fran123 » Vie 16 Abr , 2021 12:29 pm

Hola

Tengo un proyecto que va creciendo y quiero usar varias ficheros. Entre ellos hay algunas dependencias y si en todos incluyo algo común, al final me encuentro con "duplicate definition".

He probado a poner en cada fichero algo así:

Código: Seleccionar todo

let libreria1 = 1
y luego en los ficheros que hacen uso

Código: Seleccionar todo

ifndef libreria1
read "libreria1.asm"
print "cargar libreria1.asm"
endif
pero no funciona, es como si no leyera el fichero libreria1.asm

¿qué hago mal?
¿se puede hacer lo que quiero? ¿cómo?

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: incluir ficheros en winape

Mensajepor Artaburu » Vie 16 Abr , 2021 12:40 pm

Ya que has definido libreria1 entonces si quieres que se incluya en la compilación usa ifdef en lugar de ifndef.
Si quieres tenerla definida siempre, si le das valor 1 te va a funcionar con:
If libreria1
Read"xxxx.asm"
Endif
Si le das valor 0 no leerá el fichero
Salu2,
Arta

Avatar de Usuario
Fran123
Me voy lanzando
Me voy lanzando
Mensajes: 74
Registrado: Lun 24 Feb , 2020 2:44 pm

Re: incluir ficheros en winape

Mensajepor Fran123 » Vie 16 Abr , 2021 6:18 pm

pero pongo

Código: Seleccionar todo

let libreria=1
igual que puedo ponder

Código: Seleccionar todo

let libreria=333
El caso es que esté definida y sólo se incluya una vez en el proyecto.

Como yo lo entiendo es:
Varios ficheros tienen

Código: Seleccionar todo

read "libreria1.asm"
y en libreria1.asm pongo

Código: Seleccionar todo

let libreria=1
. Entonces la primera vez que se cargue libreria1.asm set define libreria1 y cuando se procese otro fichero y se encuentre

Código: Seleccionar todo

ifndef liberia1
read "libreria1.asm"
endif
como ya esta definido no se incluye.

¿me entiendes?
Ya que has definido libreria1 entonces si quieres que se incluya en la compilación usa ifdef en lugar de ifndef.
Si quieres tenerla definida siempre, si le das valor 1 te va a funcionar con:
If libreria1
Read"xxxx.asm"
Endif
Si le das valor 0 no leerá el fichero

Avatar de Usuario
Artaburu
Trasteador
Trasteador
Mensajes: 8420
Registrado: Vie 07 Oct , 2005 6:18 pm
Ubicación: En tu pantalla

Re: incluir ficheros en winape

Mensajepor Artaburu » Vie 16 Abr , 2021 6:39 pm

No, la verdad es que no te entiendo.
Si quieres añadir la librería solo una vez, con que pogas el read "libreria.asm" es suficiente
si quieres dejar el read pero solo incluirla cuando tu le digas:
if INCLUIR
read "libreria.asm"
endif

Así no la incluye:
let INCLUIR = 0
Así sí la incluye:
let INCLUIR = 1
Salu2,
Arta


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic