Resumen
Esta clase fija el modo de trabajo que el curso seguirá hasta el final. Describe el ciclo de editar, guardar, compilar, ejecutar y leer, y explica por qué conviene que el error se descubra en la etapa más temprana posible; presenta la orden de compilación que el curso recomienda y lo que hace cada una de sus opciones; muestra cómo ejecutar el ciclo desde la terminal y cómo configurar Visual Studio Code para que compile con las mismas opciones; enseña a distinguir en la salida del compilador un error de un aviso y a localizar la línea a la que se refieren; presenta los detectores, que detienen el programa cuando incurre en ciertos comportamientos indefinidos y señalan la línea; y deja la consola preparada para mostrar tildes y eñes.
Objetivos de aprendizaje
- Compilar un programa desde la terminal con las opciones del curso (
-std=c++23 -Wall -Wextray las demás), nombrar el ejecutable con-oy ejecutarlo. - Configurar Visual Studio Code para que compile con las mismas opciones que la terminal y muestre los avisos en su panel de problemas.
- Distinguir en la salida del compilador un error de un aviso, nombrar la opción que produjo cada aviso y localizar la línea a la que se refiere.
- Activar los detectores de errores de memoria y de comportamiento indefinido, y reconocer en su informe el tipo de falla y la línea donde ocurrió.
- Diagnosticar por qué una salida muestra símbolos extraños en lugar de tildes y eñes, y configurar el editor y la consola para que se vean correctamente.
El ciclo de trabajo
Escribir un programa no es un acto único, sino un ciclo que se repite decenas de veces en una misma sesión. Tiene cinco momentos: se edita el código fuente; se guarda el archivo, porque el compilador lee el disco y no la pantalla del editor; se compila, es decir, se pide al compilador que traduzca el archivo a un ejecutable; se ejecuta el resultado; y se lee con atención todo lo que el compilador y el programa escribieron. Lo leído conduce a una nueva edición, y el ciclo vuelve a comenzar.
El último momento es el que más se descuida y el que más importa. La premisa es sencilla: un defecto cuesta tanto más corregirlo cuanto más tarde se descubre. Si el compilador lo señala, se sabe en qué línea y casi siempre por qué; si se manifiesta al ejecutar, se sabe solo que algo salió mal; si se manifiesta semanas después, con otros datos, puede que nadie llegue a saber la causa. De ello se sigue que conviene descubrir los defectos lo antes posible, y que el compilador debe tratarse como el primer revisor del programa: un lector incansable que, bien configurado, advierte de mucho más que de los errores de escritura.
Esta clase configura ese revisor en tres niveles: los errores, que impiden obtener el ejecutable; los avisos del compilador, que lo permiten, pero señalan código sospechoso; y los detectores, que vigilan el programa mientras se ejecuta. Supone instalados el compilador y el editor (clase 1.3). Los ejemplos usan variables e instrucciones if, que se explicarán en las clases 2.1 y 4.1; aquí basta leerlos.
Cargando el contenido…