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 '!'.