Su compilador podría no soportar todas las cualidades discutidas en este libro, especialmente si no tiene la versión más nueva de su compilador. Implementar un lenguaje como C++ es un tarea Hercúlea, y puede suponer que las cualidades aparecen por partes en lugar de todas juntas. Pero si intenta uno de los ejemplos del libro y obtiene muchos errores del compilador, no es necesariamente un error en el código o en el compilador-puede que sencillamente no esté implementado todavía en su compilador concreto.
Empleamos un número de compiladores para probar el código de este libro, en un intento para asegurar que nuestro código cumple el Estándar C++ y funcionará con todos los compiladores posibles. Desafortunadamente, no todos los compiladores cumplen el Estándar C++, y de este modo tenemos un modo de excluir ciertos ficheros de la construcción con esos compiladores. Estas exclusiones se reflejadas automáticamente en los makefiles creados para el paquete de código para este libro que puede descargar desde www.MindView.net. Puede ver las etiquetas de exclusión incrustadas en los comentarios al inicio de cada listado, de este modo sabrá si exigir a un compilador concreto que funcione con ese código (en pocos casos, el compilador realmente compilará el código pero el comportamiento de ejecución es erróneo, y excluimos esos también).
Aquí están las etiquetas y los compiladores que se excluyen de la construcción.
· {-dmc} El Compilador de Mars Digital de Walter Bright para Windows, descargable gratuitamente en www.DigitalMars.com. Este compilador es muy tolerante y así no verá casi ninguna de estas etiquetas en todo el libro.
· {-g++} La versión libre Gnu C++ 3.3.1, que viene preinstalada en la mayoría de los paquetes Linux y Macintosh OSX. También es parte de Cygwin para Windows (ver abajo). Está disponible para la mayoría de las plataformas en gcc.gnu.org.
· {-msc} Microsoft Version 7 con Visual C++ .NET (viene sólo con Visual Studio .NET; no descargable gratuitamente).
· {-bor} Borland C++ Version 6 (no la versión gratuita; éste está más actualizado).
· {-edg} Edison Design Group (EDG) C++. Este es el compilador de referencia para la conformidad con los estándares. Esta etiqueta existe a causa de los temas de biblioteca, y porque estábamos usando un copia gratis de la interfaz EDG con una implementación de la biblioteca gratuita de Dinkumware, Ltd. No aparecieron errores de compilación a causa sólo del compilador.
· {-mwcc} Metrowerks Code Warrior para Macintosh OS X. Fíjese que OS X viene con Gnu C++ preinstalado, también.
Si descarga y desempaqueta el paquete de código de este libro de www.MindView.net, encontrará los makefiles para construir el código para los compiladores de más arriba. Usabamos GNU-make disponible gratuitamente, que viene con Linux, Cygwin (una consola gratis de Unix que corre encima de Windows; ver www.Cygwin.com), o puede instalar en su plataforma, ver www.gnu.org/software/make. (Otros makes pueden o no funcionar con estos ficheros, pero no están soportados.) Una vez que instale make, si teclea make en la línea de comando obtendrá instrucciones de cómo construir el código del libro para los compiladores de más arriba.
Fíjese que la colocación de estas etiquetas en los ficheros en este libro indica el estado de la versión concreta del compilador en el momento que lo probamos. Es posible y probable que el vendedor del compilador haya mejorado el compilador desde la publicación de este libro. Es posible también que mientras que realizamos el libro con tantos compiladores, hayamos desconfigurado un compilador en concreto que en otro caso habría compilado el código correctamente. Por consiguiente, debería probar el código usted mismo con su compilador, y comprobar también el código descargado de www.MindView.net para ver que es actual.