TEMA 0: Introducción
0.1 Orígenes del C
El lenguaje C fue inventado por Dennis Ritchie en 1972
cuando trabajaba, junto con Ken Thompson, en el diseño del sistema
operativo UNIX.
El lenguaje C deriva del lenguaje B de Thompson, el cual, a
su vez, deriva del lenguaje BCPL desarrollado por Martin Richards.
Durante muchos años el estándar de C fue la versión
proporcionada con el sistema operativo UNIX versión 5. Pero pronto
empezaron a surgir muchas implementaciones del C a raíz de la
popularidad creciente de los microordenadores. Por este motivo, se
hizo necesario definir un C estándar que está representado hoy por
el ANSI C.
0.2 Características del lenguaje C
Algunas características del lenguaje C son las siguientes:
- Es un lenguaje de propósito general. Este lenguaje se ha utilizado
para el desarrollo de aplicaciones tan dispares como: hojas de
cálculos, gestores de bases de datos, compiladores, sistemas
operativos, ...
- Es un lenguaje de medio nivel. Este lenguaje permite programar a
alto nivel (pensando a nivel lógico y no en la máquina física) y a
bajo nivel (con lo que se puede obtener la máxima eficiencia y un
control absoluto de cuanto sucede en el interior del ordenador).
- Es un lenguaje portátil. Los programas escritos en C son
fácilmente transportables a otros sistemas.
- Es un lenguaje potente y eficiente. Usando C, un programador puede
casi alcanzar la eficiencia del código ensamblador junto con la
estructura del Algol o Pascal.
Como desventajas habría que reseñar que es más complicado de
aprender que otros lenguajes como Pascal o Basic y que requiere una
cierta experiencia para poder aprovecharlo a fondo.
0.3 Uso del C
Los pasos a seguir desde el momento que se comienza a
escribir el programa C hasta que se ejecuta son los siguientes:
1.- Escribirlo en un editor.
2.- Compilarlo en un compilador.
3.- Enlazarlo en un enlazador.
4.- Ejecutarlo.
Paso 1: ESCRIBIRLO
El programa se puede escribir en cualquier editor que genere
ficheros de texto estándar, esto es, que los ficheros generados no
incluyan códigos de control y caracteres no imprimibles.
Estos ficheros que contienen código C se llaman ficheros
fuentes. Los ficheros fuentes son aquellos que contienen código
fuente, es decir, ficheros con texto que el usuario puede leer y que
son utilizados como entrada al compilador de C.
Los programas pequeños suelen ocupar un solo fichero fuente;
pero a medida que el programa crece, se va haciendo necesario
distribuirlo en más ficheos fuentes.
Paso 2: COMPILARLO
El compilador produce ficheros objetos a partir de los
ficheros fuentes. Los ficheros objetos son los ficheros que
contienen código objeto, es decir, ficheros con código máquina
(número binarios que tiene significado para el microprocesador) y
que son utilizados como entrada al enlazador.
La extensión de estos ficheros es OBJ, aunque también los
hay con extensión LIB. A estos últimos se les llama también ficheros
de librería o biblioteca; contienen código máquina perteneciente a
código compilado suministrado por el compilador.
Paso 3: ENLAZARLO
El enlazador produce un fichero ejecutable a partir de los
ficheros objetos.
Los ficheros ejecutables son aquellos que contienen código
máquina y se pueden ejecutar directamente por el sistema operativo.
La extensión estos ficheros es EXE o COM.
Al proceso de enlazado también se le suele llamar el proceso
de linkado.
Paso 4: EJECUTARLO
El programa se puede ejecutar simplemente tecleando su
nombre desde la línea de comandos del sistema operativo.
ESQUEMA
Los pasos anteriores se resumen en el siguiente esquema:
f1.c ----> f1.obj ---------+
|
f2.c ----> f2.obj ---------|
|
. . |
. . |
. . |
|
fn.c ----> fn.obj ---------|
|---------------> f.exe
f1.lib ---------|
|
f2.lib ---------+
|
. |
. |
. |
|
fm.lib ---------+
Hoy día los compiladores de C son muy sofisticados e
incluyen entornos integrados desde los cuales editamos, compilamos,
enlazamos, y podemos realizar una multitud de servicios más.
En algunos de ellos se pueden realizar los pasos de
compilado, enlazado y ejecutado con la pulsación de una sola tecla.
En programación, la experiencia es el gran maestro. Por ello
es conveniente empezar a hacer programas en C cuanto antes.