Compilación en Windows
Compilación en Windows
1. Compilación en Windows
Una vez instalado el compilador, ya podemos comenzar a usarlo. La acción principal que realiza el compilador es traducir un programa escrito en pascal a un programa en código de máquina. Al primero se le llama código fuente; mientras que el segundo recibe la denominación de programa ejecutable (también se le llama binario aunque no es lo más apropiado).
El primer paso es escribir el programa fuente en un editor de texto cualquiera y salvarlo con un nombre apropiado. Este paso es lo que se llama edición o creación del programa. Hasta aquí el compilador no cumple ninguna función.
Luego se invoca el compilador, al cual se le pasa el nombre del archivo que contiene el código fuente. El compilador analiza el programa pascal y en caso de encontrar errores, desplegará mensajes explicativos de los errores encontrados (errores de compilación). Si no hay errores, el compilador genera un nuevo archivo que será el programa ejecutable. Este paso es el que propiamente recibe el nombre de compilación y es esta la función básica que realiza el compilador.
Cuando hay errores, el programador corrige el programa fuente con el editor de texto y salva las modificaciones (aquí tampoco interviene el compilador). Luego vuelve a invocar al compilador con el archivo corregido. Estos dos pasos se repiten hasta que no haya errores de compilación y se genere el programa ejecutable.
Una vez que la compilación no tuvo errores se puede proceder a la ejecución del programa generado por el compilador. Aquí se pueden detectar nuevos errores al advertir que el programa no se comporta como se esperaba. En ese caso debemos corregir nuevamente el programa fuente y volver a compilar y luego ejecutar.
Este es el ciclo habitual en la programación: edición/compilación/ejecución.
El Free Pascal viene equipado con un ambiente de desarrollo integrado (en inglés IDE) que permite realizar con una única herramienta, todas las actividades vinculadas a la construcción de un programa. Esta es una herramienta que está diseñada para programadores avanzados. En su lugar, nosotros recomendamos la modalidad que llamamos compilación en línea de comandos. Luego de entender y familiarizarse con esta forma de trabajo, será más facil comenzar a utilizar un IDE en el futuro.
1.1. Línea de Comandos
La compilación en línea de comandos es la manera de trabajar recomendada en este curso. Es importante que sepa compilar en esta modalidad, independientemente de que elija utilizar el IDE u otro ambiente de su preferencia.
La línea de comandos o consola DOS, es una ventana de texto donde el usuario indica acciones al computador a través de comandos. El usuario escribe un comando y pulsa enter; entonces el computador analiza el comando y ejecuta la acción solicitada. Existen comandos que pueden realizar muchas de las operaciones que normalmente se realizan desde el manejador de archivos de windows (explorador). Aunque desde hace años, la tendencia de Windows es no estimular el uso de la línea de comandos en favor de la utilización del ambiente gráfico, muchos consideran que es muy útil tener un conocimiento básico de la operación del sistema mediante comandos.
A continuación enumeramos algunos comandos que es importante conocer:
cd
- Comando que permite cambiar el directorio o carpeta de trabajo, también llamado directorio corriente.dir
- Permite ver los archivos y subcarpetas que integran un directorio.del
- Permite borrar archivosmkdir
- Permite construir una carpeta nueva.copy
- Permite copiar archivosrename
- Permite cambiar el nombre de un archivo
Pueda resultar muy útil que experimente con los comandos anteriores para familiarizarse con ellos; aunque si usted sabe como realizar tales acciones con el ambiente gráfico, quizas elija no utilizarlos casi nunca.
Para tener mayor información sobre los comandos anteriores, puede ingresar el comando help nombre-comando
Iniciar una consola
Para iniciar una consola de comandos, debe proceder de esta manera:
- Acceder al ítem
Ejecutar
del menú de inicio de windows. - Escribir
cmd
en el cuadro de texto que se abre. - Presionar el botón
Aceptar
En windows 7 se procede de la siguiente manera:
- Hacer click sobre el icono de inicio (en la parte inferior izquierda)
- Y donde dice 'Buscar programas y archivos', escribir "
cmd
", y apretar la tecla "enter".
- Hacer click sobre el ícono de búsqueda en la barra inferior en el extremo izquierdo (la lupa).
Escribir cmd en el cuadro y dar enter.
Elegir una carpeta de trabajo
El primer paso antes de comenzar a programar, es decidir en donde va a residir nuestro programa. Muchos principiantes obvian este paso, dejando que el sistema tome esa decisión, y sus programas quedan perdidos en algún extraño y desconocido rincón del disco. (es muy común que los usuarios del IDE cometan este error).
Vamos entonces a crear un directorio: c:\prog1
C:\DOCUMENTS AND SETTINGS\FULANO > mkdir c:\prog1
Y luego nos posicionamos en ese directorio:
C:\DOCUMENTS AND SETTINGS\FULANO > cd c:\prog1 C:\PROG1>
Usted puede crear cualquier otro directorio con el nombre que le resulte más apropiado, sin embargo debe tener en cuenta lo siguiente: no utilice nombres de más de 8 letras, ni que contengan espacios, ni caracteres extraños, ni tildes. De lo contrario es posible que el compilador Free Pascal tenga algunos problemas.
Es un buena idea crear un subdirectorio para cada práctico, uno para cada tarea, y un directorio para pruebas en general. Cada vez que lo crea conveniente puede crear nuevos subdirectorios, siempre bajo el directorio prog1.
C:\PROG1> mkdir prac1 C:\PROG1> cd prac1 C:\PROG1\PRAC1>
En lugar de utilizar el comando mkdir
, puede crear los directorios utilizando el ambiente gráfico de windows.
Si usted no administrador del equipo, seguramente no pueda crear directorios en C:\
, busque un lugar adecuado donde tenga permisos con el usuario que inicio la sesión.
Edición del Programa Fuente
Vamos a crear un programa de prueba con el siguiente texto:
program Hola; begin writeln ('Hola, gente.') end.
En primer término, creamos un directorio de nombre prueba
bajo el directorio c:\prog1
como se explicó en la sección anterior.
C:\PROG1> mkdir prueba C:\PROG1> cd prueba C:\PROG1\PRUEBA>
Luego debemos abrir algún editor de textos, para crear el programa fuente. Por ejemplo, podemos usar el block de notas de Windows (se accede por Inicio/Otros Programas/Accesorios/Block de Notas
). Los paso son los siguientes:
- Abrir el block de notas
- Escribir el texto del programa.
- Salvar el programa con nombre
hola.pas
en la carpeta de trabajo, en este caso seríaC:\PROG1\PRUEBA
(hay que tener cuidado de no salvarlo con la extensión.txt
que es la que maneja por defecto el block de notas; para esto en el cuadro de diálogo de salvar, hay que seleccionar como tipo "todos los archivos").
Puede utilizar cualquier editor de textos, en particular hay muchos editores con facilidades especiales para escribir programas (coloreado sintáctico, concordancia de paréntesis, expansión/implosión de bloques, etc.).
Una vez que el programa quedó creado, se puede volver a la línea de comandos y verificar que el archivo con el programa fuente reside en la carpeta de trabajo que elegimos:
C:\PROG1\PRUEBA> dir ... 09/11/2006 01:21 PM 34 hola.pas ...
Compilación del programa fuente
Ahora invocamos el compilador
C:\PROG1\PRUEBA> fpc -Co -Cr -gl -Miso hola.pas .... .... C:\PROG1\PRUEBA>
fpc
es el nombre del compilador Free Pascal.hola.pas
es el nombre del archivo que contiene el programa fuente-Co -Cr
son opciones que le indican al compilador que debe generar el control de rangos, desborde de operaciones aritméticas. Es muy importante que indique estas opciones, para asegurarse que sus programas ejecutan sin estos errores.-gl
esta opción hace que el compilador devuelva la línea del código fuente donde se produce el error de ejecución.-Miso
esta opción hace que el compilador se comporte más parecido al Pascal usado en el libro del curso.
Importante: Las opciones del compilador son "case sensitive" (sensibles a la diferencia entre minúsculas y mayúsculas). Por lo tanto el compilador no las interpreta adecuadamente si se pone por ejemplo: -co -cr -miso -gl
, o -CO -CR -MISO -GL
, o -cO -CR -miso -gL
, etc. Lo correcto es usar: -Co -Cr -Miso -gl
Suponemos que el compilador no da ningún mensaje de error. Verificamos que se haya generado el programa ejecutable:
C:\PROG1\PRUEBA> dir ... ... hola.exe ... hola.o ... hola.pas ... C:\PROG1\PRUEBA>
Los archivos hola.o
y hola.exe
fueron creados por el compilador. El primero lo podemos borrar ya que no nos resultará muy útil por el momento. El segundo es el programa ejecutable.
Si el compilador emite mensajes de error, debemos volver a editar el archivo fuente y compilar nuevamente, hasta que no haya errores.
Ejecución
Ahora podemos ejecutar el programa hola.exe
, resultado de la compilación
En la línea de comandos, escribimos hola
y damos enter:
C:\PROG1\PRUEBA> hola Hola, gente. C:\PROG1\PRUEBA>
El mensaje Hola, gente
es el resultado de la ejecución del programa. El mismo termina, y vuelve a aparecer la etiqueta C:\PROG1\PRUEBA>
que indica que el sistema está esperando un nuevo comando.
Si el programa no se comporta de la manera esperada, hay que corregir el código fuente, volviendo a editar el archivo que lo contiene e iniciando nuevamente el ciclo: edición/compilación/ejecución