C/Compilar un programa
C | ||
← Volver a Editar un programa | Compilar un programa | Seguir con Ligar un programa → |
Despois de editar o ficheiro de texto simple e escribir nel un programa en linguaxe C, toca compilar o programa. Isto é, traducir o ficheiro de texto simple en C a un ficheiro binario, é dicir, a linguaxe máquina, a linguaxe que o computador pode entender. Esta tarefa realizarase cun compilador.
Proceso de compilación
[editar]O proceso de compilación consta de certas fases.
En primeiro lugar está a fase do preprocesador (un programa que forma parte do compilador). Nas primeiras liñas dun programa en C sitúanse unha serie de instrucións para o preprocesador. Son aquelas que comezan co símbolo #
. Ditas ordes indícanlle ao precompilador, entre outras cousas, en que ficheiros atopar as distintas funcións utilizadas no programa. Asemade, o precompilador elimina todos os espazos e saltos de liña que se puxeron no código fonte como unha axuda visual para a comprensión do código por parte das persoas, pero que o compilador non vai necesitar ou comprender.
A continuación realízase unha análise sintáctica e semántica das instrucións do código fonte, mediante a cal o compilador se asegura de que non vai haber ningún erro á hora da compilación.
Así, feita a análise, procédese á verdadeira compilación, que transformará o código fonte en código obxecto, é dicir, o equivalente en linguaxe máquina ao código fonte pero aínda sen os compoñentes necesarios para que poida executarse.
Código obxecto
[editar]Como resultado da compilación, obteremos un ou varios programas obxecto. Un código fonte pode conter varias funcións, algunhas forman parte das bibliotecas de funcións do compilador, pero outras poden ser obra do propio desenvolvedor, e estas funcións do desenvolvedor poden atoparse no ficheiro do código fonte principal ou ben noutros ficheiros de código fonte aos que se fai referencia dende o ficheiro do código fonte principal. O compilador compilará o contido de cada un destes ficheiros por separado, orixinando distintos ficheiros en linguaxe máquina ou binario, chamados programas obxecto ou código obxecto.
Deste xeito, de producirse algún erro de execución, o programa non vai ter que volver compilarse completamente. Se o programa está dividido en distintos ficheiros, só será necesario corrixir os erros dos ficheiros afectados, e compilar unicamente ditos ficheiros. Pero separados, estes ficheiros non poden executarse. Haberá que ligalos. Cómpre ter en conta que sempre que o programa utilice algunha función externa, incluídas as propias do compilador cuxas cabeceiras se lle fornecen ao preprocesador ao comezo do código fonte mediante directrices para o preprocesador. Isto significa que o seguinte paso será necesario (case) sempre antes de poder executar un programa.
Erros
[editar]Durante a análise que se produce durante o proceso de compilación poden xurdir erros de compilación. Ante erros de compilación, esta cancelarase, e haberá que corrixilos. Xeralmente o propio compilador indicará a liña na que se atoparon os erros e describiraos. Entre os erros máis habituais están:
- non rematar unha sentencia cun punto e coma (
;
), - utilizar o carácter de asignación (
=
) en vez de o de igualación (==
) nunha expresión, ou - situar o
else
dunha sentenciaif
despois de sentencias que están fóra doif
.
Máis adiante comprenderás o que significan estes erros, e a base de práctica e máis práctica aprenderás a corrixilos á primeira. Pero vaite afacendo á idea de que sempre que intentes compilar un programa por vez primeira vai aparecer algún erro. Isto pásalles a todos, tanto ao estudante coma ao profesional. Non hai nada de malo en que aparezan erros. O malo sería non dalos corrixido.
Unha vez corrixidos os erros, toca volver intentar a compilación. Se volven aparecer erros, teremos que volver revisar o código para solucionalos. En caso de que a compilación se realice correctamente, poderemos continuar.
C | ||
← Volver a Editar un programa | Compilar un programa | Seguir con Ligar un programa → |