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 ![]() |
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 ![]() ![]() |
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 (![]() |
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 (![]() |
MAKE.EXE | Utilidad
que permite simplificar el ciclo de compilación y enlazado de proyectos
en los que intervienen varios módulos (![]() |
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 ( 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" |
TLIBIMP.EXE | Acrónimo de
"Type Library Import". Esta utilidad
acepta librerías de tipos (![]() |
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
(![]() |
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". ![]() 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.