A.3. Marcas comentadas de inicio y fin

Un tema muy importante en este libro es que todo el código que puede ver en el libro ha sido sido verificado (con al menos un compilador). Esto se consigue extrayendo automáticamente los listados del libro. Para facilitar esta tarea, todos los listados de código susceptibles de ser compilados (al contrario que los fragmentos, que hay pocos) tienen unas marcas comentadas al principio y al final. Estas marcas las usa la herramienta de extracción de código ExtractCode.cpp del Volumen 2 de este libro (y que se puede encontrar en el sitio web www.BruceEckel.com) para extraer cada listado de código a partir de la versión en texto plano ASCII de este libro.

La marca de fin de listado simplemente le indica a ExtractCode.cpp que ese es el final del listado, pero la marca de comienzo incluye información sobre el subdirectorio al que corresponde el fichero (normalmente organizado por capítulos, así que si corresponde al Capítulo 8 debería tener una etiqueta como C08), seguido de dos puntos y el nombre del fichero.

Como ExtractCode.cpp también crea un makefile para cada subdirectorio, la información de cómo construir el programa y la línea de comando que se debe usar para probarlo también se incorpora a los listados. Si un programa es autónomo (no necesita ser enlazado con nada más) no tiene información extra. Esto también es cierto para los ficheros de cabecera. Sin embargo, si no contiene un main() y necesita enlazarse con algún otro, aparece un {O} después del nombre del fichero. Si ese listado es el programa principal pero necesita ser enlazado con otros componentes, hay una línea adicional que comienza con //{L} y continúa con el nombre de todos los ficheros con los que debe enlazarse (sin extensiones, dado que puede variar entre plataformas).

Puede encontrar ejemplos a lo largo de todo el libro.

Cuando un fichero debe extraerse sin que las marcas de inicio y fin deban incluirse en el fichero extraído (por ejemplo, si es un fichero con datos para una prueba) la marca de inicio va seguida de un '!'.