Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo configurar el compilador TKstudi C

Cómo configurar el compilador TKstudi C

VC es sorprendente porque usar una herramienta tan infalible sólo te ciega ante la verdadera naturaleza de las cosas. A continuación veremos más de cerca el compilador Turbo C. Un compilador amplio incluye un compilador de código (compilador), un vinculador de archivos de objetos (enlazador), herramientas de administración de bibliotecas (como tc's tlib, gcc's ar), herramientas de controlador de compilación (como VC's NMake, gcc's make), archivos de encabezado estándar ANSI c/c. y bibliotecas, archivos de encabezado extendidos y bibliotecas, entorno de desarrollo integrado (IDE) y otras herramientas relacionadas con la compilación. La colección de todas estas herramientas constituye un compilador en un sentido amplio.

En un sentido estricto, un compilador es simplemente un compilador responsable de compilar el código fuente (es decir, archivos .c/.cxx/.cpp) en archivos objeto (es decir, archivos .o/.obj). La entrada del proceso de compilación es el archivo fuente, incluidos sus propios archivos .c y .h y el archivo .h proporcionado por el sistema, y ​​la salida del proceso de compilación es el archivo objeto. Cabe enfatizar que durante la fase de compilación, solo se procesarán los archivos fuente, por lo que no es necesario involucrar bibliotecas ni archivos objeto adicionales, por lo que siempre que el código no tenga errores de sintaxis, la compilación siempre producirá archivos objeto.

Para un compilador universal, son necesarias las siguientes partes: 1. Compilador, 2. Conector, 3. Archivos de encabezado y archivos de biblioteca proporcionados por el sistema. Ahora que hemos cubierto el compilador, pasaremos al vinculador.

La función del conector es ensamblar el archivo de destino y cambiar la dirección flotante a una dirección determinada. Este es un gran libro que cubre en detalle los enlazadores y cargadores. En resumen, la entrada de la fase de vinculación es el archivo objeto y la salida es el archivo ejecutable o biblioteca de vínculos dinámicos.

Cualquier compilador proporcionará bibliotecas y archivos de encabezado correspondientes. Los compiladores C/C generalmente proporcionan bibliotecas ANSI C/C y archivos de encabezado correspondientes.

De ahora en adelante, debemos establecer el concepto de que el proceso de compilación en un sentido amplio en realidad incluye dos pasos básicos, a saber, compilación y vinculación, y una comprensión profunda de estos dos pasos será de gran ayuda. progreso.

Necesitamos comprender algunas configuraciones predeterminadas en el compilador. En un compilador, el directorio bin se usa para almacenar el compilador, el vinculador y otras herramientas, el directorio de inclusión se usa para almacenar archivos de encabezado y el directorio lib se usa para almacenar archivos de biblioteca. Esta es la organización de directorios de la mayoría de los compiladores.

Echemos un vistazo a lo que nos proporciona Turbo C

En el directorio bin:

CPP.EXE es un preprocesador de C responsable de la precompilación cuando se trata de código fuente. código, no lo considere un compilador de C

TCC.EXE es un compilador de C que puede compilar el código en un archivo objeto y llamar automáticamente a tlink. TCC.EXE es un compilador de C que puede compilar código en un archivo de destino y llama automáticamente a tlink para generar un archivo ejecutable

TASM.exe es una herramienta ensambladora que puede compilar código ensamblador x86 en un archivo de destino Medio

TLink.exe es un vinculador, responsable de vincular archivos de destino, bibliotecas, etc.

TLib.exe es una herramienta de administración de bibliotecas que puede empaquetar múltiples archivos de destino en un solo archivo

TLib.exe es una herramienta de administración de bibliotecas que puede empaquetar múltiples archivos de destino en un solo archivo.

Puede empaquetar múltiples archivos de destino en un solo archivo de biblioteca

BGIOBJ.exe puede convertir archivos BGI en archivos .obj

make.exe es una herramienta de creación que cumple con el estándar GNU y se puede utilizar Para administrar la compilación de código

Archivo de configuración de parámetros de compilación predeterminado de TURBOC.CFG tcc

Todas las herramientas anteriores se pueden ver escribiendo los comandos correspondientes. Por ejemplo, escribiendo tcc se puede ver. el uso de tcc El método no se explicará aquí.

Directorio BGI:

EGAVGA.BGI es el controlador bgi de EGAVGA

Directorio FONT: almacena varios archivos de fuentes utilizados por BGI

Directorio INCLUDE: contiene todos los archivos de encabezado de la biblioteca Turbo C. Cuando desee utilizar una función de biblioteca, puede encontrar sus archivos y prototipos en este directorio, que no se describirá en detalle aquí.

Céntrese en el directorio Lib:

El archivo init.obj es el código de inicio de C, que es responsable de configurar la pila, inicializar la memoria y llamar a la función de entrada de C para ejecutando el programa C. Esta parte del código está escrita en ensamblador y su código fuente se puede encontrar en TC (la versión oficial) con el nombre Init.ASM.

Los archivos c0t.obj, c0s.obj, c0m.obj, c0c.obj, c0l.obj y c0h.obj son las implementaciones de la función de entrada de código C. Leerán las variables de entorno y llamarán. la La función principal pasa los parámetros de la línea de comando a la función principal y luego transfiere el control a la función principal, que comúnmente se conoce como la función principal de C. Dado que Turbo C tiene diferentes modos de memoria, los seis archivos anteriores corresponden a los seis modos de memoria diferentes en TC.

cc.lib, ch.lib, cl.lib, cm.lib, cs.lib son archivos de biblioteca de la biblioteca estándar ANSI C proporcionada por TC, que se utilizan para diferentes modos de memoria:

modo compacto cc

modo ch enorme

modo cl grande

modo cm mediano

modo cs pequeño.