Módulos del compilador Borland C++ 5.5
§1 Sinopsis
Como se ha señalado, los "Compiladores" C++ son en realidad conjuntos más o menos extensos de programas y utilidades para la construcción de ejecutables y librerías [1]. Las modernas "suites" de programación incluyen además una potente interfaz gráfica y un montón de utilidades preconstruidas (algunos las llaman herramientas), que adoptan la forma de librerías.
En el caso de C++, por lo general estas utilidades vienen encapsuladas en forma de clases, cuya funcionalidad abarca los aspectos más comúnmente utilizados en la construcción de aplicaciones. Por supuesto entre estas librerías no pueden faltar las del Estándar C++, el conjunto mínimo necesario para que un compilador pueda recibir tal nombre ( 5). Por su parte, la interfaz gráfica permite reducir gran parte de las tareas de codificación a operaciones de arrastrar, cortar y pegar "componentes".
En el caso del compilador Borland C++ existen dos versiones (nos referimos a la plataforma Wintel), una de descarga gratuita, el que hemos denominado BC++ ( 7), y un producto comercial, denominado Borland C++Builder, que es una verdadera "suite" de programación que incluye por supuesto todas las utilidades de la versión gratuita.
§2 Componentes de BC++
Para dar una idea general de lo que puede esperarse en este sentido, incluimos aquí una descripción sucinta de los módulos que se componen el entorno BC++ [2].
BCC32.EXE | Versión de línea de comando del compilador C++ de 32 bits. |
BPR2MAK.EXE | Utilidad que convierte un fichero XML al formato MAKE para que pueda ser utilizado con las herramientas de línea de comando. |
BRCC32.EXE | Es una versión
de línea de comando del compilador de recursos
de 32 bits.
Este programa acepta como entrada un fichero "script" (.RC) y produce un fichero .RES como resultado. |
RLINK32.DLL | Esta librería es un enlazador de recursos (resource linker) de 32 bits utilizada por el enlazador ILINK32 . Se trata de una utilidad que combina un fichero .RES con un .EXE para producir un ejecutable Windows. |
BRC32.EXE | Versión de línea de comando del compilador de recursos de 32 bits. Es un programa puente que invoca al compilador de recursos BRCC32 o al enlazador RLINK32 , según la sintaxis de la orden recibida. |
CPP32.EXE | Es un preprocesador de línea de comando para fuentes C/C++ de 32 bits. |
ILINK32.EXE | Es un enlazador
de línea de comando capaz de combinar objetos (ficheros .OBJ) y
librerías estáticas (ficheros .LIB) para producir ejecutables para
Windows 32-bit, incluyendo librerías de enlazado dinámico (ficheros de
terminación .EXE, .DLL, y .BPL).
Aunque generalmente no es invocado de forma "manual", porque es llamado automáticamente por el compilador, puede ejecutarse directamente desde el "Shell". Utiliza un fichero de configuración (ILINK32.CFG), un fichero de respuesta ("response file") opcional y modificadores opcionales de línea de comando. Nota: Este programa utiliza los recursos de la librería RLINK32.DLL . |
IMPDEF.EXE | Utilidad para la construcción de aplicaciones que utilizan librerías dinámicas, ya que permite obtener un fichero de definición (.DEF) a partir de una librería dinámica ( 1.4.4b2c). |
IMPLIB.EXE | Es una utilidad complementaria de la anterior. También se utiliza en la construcción de aplicaciones que utilizan librerías dinámicas, ya que permite construir una librería de importación a partir de una o varias librerías dinámicas y/o ficheros de definición .DEF ( 1.4.4b2c). |
MAKE.EXE | Utilidad que permite simplificar el ciclo de compilación y enlazado de proyectos en los que intervienen varios módulos ( 1.4.0a). |
TLIB.EXE | Los manuales de
Borland nos informan que las propias librerías incluidas en C++Builder
han sido construidas con esta herramienta. Aunque no es una utilidad
esencial, resulta muy práctica, y no debe faltar en el banco de trabajo
del programador.
Este programa sirve para construir y modificar librerías estáticas, no solo las de creación propia, también las del compilador o de terceras partes. Entre sus usos está: Crear una librería .LIB a partir de una serie de módulos .OBJ Añadir nuevos módulos a una librería ya existente. Eliminar módulos de una librería existente. Reemplazar módulos de una librería existente por nuevas versiones. Extraer módulos de una librería existente Listar el contenido de una librería nueva o ya existente Además de lo anterior, TLIB puede crear e incluir en la librería un diccionario extendido, que es de utilidad para mejorar la velocidad de enlazado ( 1.4.4b). El programa acepta un cierto número de comandos en la orden de inicio, comandos que pueden estar incluidos en un fichero de réplica ("Response file" 1.4.0). Se trata de un fichero de texto ASCII que puede contener todos o algunos de los comandos de inicio. |
TLIBIMP.EXE | Acrónimo de "Type Library Import". Esta utilidad acepta librerías de tipos ( 1.4.4b2d) ya existentes y produce ficheros de interfaz para C++Builder. Está incorporada en el editor de librerías de tipos ("Type Library editor"). |
TOUCH.EXE | Esta utilidad
permite cambiar los datos de fecha y hora almacenados por el sistema
para uno o varios ficheros.
Es de utilidad cuando se quiere forzar una reconstrucción de algunas librerías o ejecutables en base al cambio de fecha de algún fichero dependiente (ver MAKE.EXE). |
TRIGRAPH.EXE | Esta utilidad debe ejecutarse antes que el compilador (o que el preprocesador), y tiene por misión convertir los trígrafos ( 3.2.3e) en los caracteres individuales equivalentes. |
VCTOBPR.EXE | En realidad esta utilidad
ha sido incluida por Borland para permitir a sus clientes manejar
proyectos software desarrollados con el producto de la competencia,
Microsoft Visual C++ 5.0 y 6.0.
Esta herramienta permite traducir los ficheros de proyecto (.DSP) y de banco de trabajo (.DSW) en los correspondientes del producto de Borland, C++Builder. |
TDUMP.EXE | Se trata de una utilidad
que puede analizar y mostrar la estructura de un fichero.
El programa analiza la estructura del fichero y muestra el resultado en función del tipo de fichero de que se trate (su terminación). Para ello es capaz de reconocer muchos tipos de ficheros, incluyendo .EXE, .OBJ y .LIB. En caso de no reconocer una extensión, produce un volcado hexadecimal del fichero. Los formatos de salida pueden ser controlados mediante diversas opciones en la orden de inicio, y la información obtenida no solo se refiere al contenido sino también a la propia estructura interna, de forma que es posible ver como está construido e incluso comprobar si esta estructura concuerda con su terminación, con lo que puede servir para verificar la integridad del fichero analizado . |
GREEP.EXE | El nombre del
programa es acrónimo de "Global Regular Expression
Print".
Una utilidad que por si sola merece
ser incluida en el arsenal de cualquier programador.
Se trata de una potente herramienta de búsqueda de ficheros por contenido (la versión para Windows de una utilidad UNIX del mismo nombre), capaz de buscar un patrón de texto en un conjunto de ficheros. Es sensible a mayúsculas/minúsculas, y puede producir una lista con las líneas de cada fichero en los que hay concordancia. Además, el patrón a buscar puede contener caracteres genéricos, con lo que el patrón de búsqueda puede ser muy flexible. Por ejemplo, suponiendo que queremos buscar que ficheros .CPP
contienen los caracteres "register", la orden
sería: |
FCONVERT.EXE | Utilidad que convierte ficheros de texto que utilizan un conjunto de caracteres OEM específico, al formato estándar ANSI y a la inversa, desde este último al formato OEM. |
CONVERT.EXE | Utilidad que convierte ficheros .DFM a formato texto plano (.TXT) |
[1] Por esta razón, más que "Compiladores" preferimos llamarlos "Entornos de programación".
[2] Para distinguirlas de las que pueden ejecutarse bajo control de la interfaz gráfica y de sus numerosos "Wizards" que se ejecutan pulsando botones (de cajas de herramientas), aquí hemos traducido el original "Command-line" por línea de comando. Se refiere a invocaciones manuales mediante órdenes a la "Shell" del sistema. Ver nota [1] en la página anterior.