Revistas en papel
 Commodore Amiga World Nº1 - Jul/Ago 1989
Anterior
MenĂº
Logotipo

El Amiga Me Encanta ha conseguido el permiso por escrito de IDG Comunications España
para ofrecer los artículos de la revista Amiga World España.

B A N C O   D E   P R U E B A S
Amiga World

AZTEC C

Ordenador: Amiga
Fabricante: Manx Software Systems
Distribuidor: Norsoft

Precios:

AZTEC C Developer, 46.000 ptas.
AZTEC C Professional, 35,000 ptas.
ACTEC C Source Debugger, 20.000 ptas.
AZTEC C Library Source, 46.000 ptas.

El C es el lenguaje de programación más empleado desde hace un tiempo en el mundo de los ordenadores personales. La gran mayoría de los programas que se escriben actualmente lo es´tan en este lenguaje que tanto furor causa. Es tan potente que permite escribir incluso sistemas operativos complejos, como lo es del Amiga.

Hasta el momento, la oferta de compiladores de C para este ordenador estaba limitada al Lattice C, harto conocido por todos y que tantos problemas y pesadillas produce, tanto por su lentitud, como por el tamaño de los ficheros ejecutables (como ejemplo diré que un programa de una línea que imprime "hola", precisa de un minuto y medio para compilarlo y de casi treinta kilobytes de programa para ejecutarlo).

El Aztec C es una herramienta verdaderamente necesaria para el trabajo serio en un lenguaje tan serio como es el C. Sigue conservando el sistema de control a través de CLI, y mantiene el sistema de compilador o linkador separados en los programas. (Estoy desenado ver Turbo C para el Amiga.)


El Compilador

Al igual que en entornos Unix y Xenix se llama CC, y acepta varios parámetros, como el nombre del programa a compilar, opciones sobre formato de algunos parámetros, tipo de compilación, etc. Dado que en el programa fuente se pueden incluir módulos en ensamblador, también se precisa de un macroensamblador, presente en el disco.

El compilador, además de rápido, es muy completo. Responde totalmente al estándar de C definido por Kernighan y Ritchie, y no da ningún problema incluso con programas escritos "a la moderna", cosa que algunos compiladores tienen más problemas en admitir. Para la prueba se compilaron todos los programas del curso de C publicados en Commodore World, siempre sin efectuar una sola modificación en los módulos originales. Además de trabajar excepcionalmente rápido (comparado con el Lattice C, claro), produce unos programas ejecutables mucho más pequeños: con un programa que genera tablas de multiplicar, pasó de 20 K a menos de tres, además de un importante aumento en la velocidad de proceso.

Lo más agradable es que se puede trabajar perfectamente con una sola unidad de disco. Para ello es suficiente con copiar cuatro ficheros a un floppy de trabajo de soporte del Amiga y ED, el editor de textos del sistema (viene uno con el compilador, pero francamente su uso es poco recomendable). Todas las fuentes que se teclearon para escribir este comentario lo fueron con ED.

Cuando uno está acostumbrado a los caprichos del Lattice C en cuanto a estructuras y se pasa al Aztec C, llega un momento en que parece que es imposible forzar un error de programa. Después de intentar estructuras completamente enrevesadas, incluyendo punteros a punteros a punteros a punteros (y más), estructuras conteniendo varias estructuras (a cual más compleja), bucles sin fin, sin condiciones, asignaciones (peligrosas) de punteros... nada hizo que perdiese el hilo del programa, sino sólo de vez en cuando algún mensaje de advertencia sobre posibles problemas empleando variables puntero y normales al mismo tiempo.


El linkador

Este programa tiene por misión enlazar los programas generador por el compilador con los módulos de librerías que cubren ciertas áreas de proceso del Amiga. La única necesaria para empezar a programas es la C.LIB, que contiene las definiciones de las rutinas de lectura del teclado y escritura a pantalla y fichero.

La colección de rutinas que acompaña a este programa es exhaustiva, incluyendo todas las funciones definidas en el C estándar, y algunas más que incluyen el manejo de la pantalla de texto sin necesidad de recurrir a las librerías gráficas. Un gran alivio para los programadores de aplicaciones que no quieren "engordar" programas llamando a multitud de librerías.

Otra gran ventaja de este programa es que es sumamente más rápido que el ALink que viene con el Lattice y con la mayoría de los compiladores clásicos para Amiga. Además de velocidad, incluye la visualización en pantalla del módulo que está uniendo al programa principal, y permite seguir con cierta facilidad el proceso de linkado, para que, en caso de error, se pueda localizar el punto en el que se detuvo con gran precisión.


El Debugger

Este programa permite seguir la ejecución paso a paso de programas compilados en Aztec C. Es de gran utilidad a la hora de comprobar la ejecución de programas, y permite la posibilidad de ponerlos "al límite" para comprobar lo que pasa en ese caso. De todas formas, es una herramienta muy avanzada que el usuario "normalito" no le hará demasiada falta.


Ficheros de cabeceras

Se incluye una completísima colección de definiciones útiles, que abarcan los campos de gráficos, sonido, memoria, ejecución, etc. Con ellos se facilita de forma enorme la confección de complejas llamadas al sistema operativo, ya que en lugar de definir las estructuras pertinentes en las que colocar los datos, basta con copiarlos de los ficheros de cabeceras. Hay de todo, y es muy recomendable pasar un rato después de comprar el programa viendo lo que contiene cada uno.

El programa viene en cuatro discos y un grueso manual. En uno de los discos se encuentra un fichero que contiene las últimas modificaciones incluidas en el programa y que no aparecen en el manual. En los otros tres discos vienen el compilador, el linkador y las librerías, amen de gran cantidad de demos de todo tipo.

Con ellas es posible iniciarse en el lenguaje C a los profanos, y conocer a fondo las posibilidades del compilador a los expertos. Para los "quemadillos" del C existen programas que utilizan pantallas Dual-Playfield, sonido (a nivel hardware), generadores de menús, gráficos recursivos, etcétera.

El manual tiene dos pegas principales: la primera (y más grave), es que está en inglés, y no tenemos noticias de que vayan a lanzar la versión en castellano del mismo. La segunda, es que no explica C. Sólo es el manual de referencia que explica de forma exhaustiva todas las posibilidades del compilador: opciones, librerías, ficheros, etcétera. Pero no explica C. para ello (ya lo he dicho antes), lo mejor que se puede hacer es conseguir un buen libro de C, o en su defecto, el curso que se publica todos los meses en Commodore World.


Problemas

El único problema notable que se presenta al trabajar con el Amiga y Aztec C son las librerías del Amiga. Estas últimas emplean punteros de 32 bits, mientras que el Aztec C emplea por defecto puntero de 16. Si no se tiene esto en cuenta, se producirán gran cantidad de errores indicando que "es peligrosa la conversión de punteros", cuando todo es aparentemente normal. Para solucionar este problema, basta con definir los punteros como LONG, con lo que se les asigna 32 bits reales. Otra solución (la que yo empleo normalmente), es crear una fichero de cabeceras llamado "CONFIG.H", en el que defino la constante "POINTER" igual que "LONG" (puntero largo). Si llega el caso de cambiar de sistema, basta con cambiar el fichero CONFIG.H para que POINTER vuelva a ser *INT. De esta forma los programas se compilan perfectamente en cualquier configuración del sistema, sin tener en cuenta el tipo de variables empleado. De todas formas, es cuestión de gustos.

Por lo demás resulta un programa muy depurado, y que incluye muy pocos errores. Los pocos que quedan vienen descritos con precisión en un fichero incluido en le disco, pero normalmente son casos sin importancia descubiertos por programadores profesionales que emplean muy a fondo las características del ordenador. Para el usuario normal el programa bien vale su precio, y se convertirá en una herramienta muy útil a la hora de depurar programas. Su velocidad de compilación y ejecución hace posible incluso el trabajar "estilo Basic", escribiendo bloques de código y probándolos uno a uno.

Este programa merece sin duda el calificativo de excelente. No cabe duda de que éste es el mejor compilador de C existente en este momento para el Amiga.


Envía esta página web a un amigo:
Esta opción está desactivada temporalmente, rogamos disculpen las molestias

Volver a la página anterior

Al menú principal