C/Compilar un programa: Diferenzas entre revisións
Contido eliminado Contido engadido
Sen resumo de edición |
Sen resumo de edición |
||
Liña 1:
{{Navegador|Editar un programa|Ligar un programa}}
Despois de editar o ficheiro de texto simple e escribir nel un programa en linguaxe C, toca compilar
==Proceso de compilación==
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 [[{{BASEPAGENAME}}/Directrices para o preprocesador|instrucións para o ''preprocesador'']]. Son aquelas que comezan co símbolo <code>#</code>. Ditas ordes indícanlle ao ''precompilador'', entre outras cousas, en que ficheiros atopar as distintas [[{{BASEPAGENAME}}/Funcións|funcións]] utilizadas no programa. Asemade, o ''precompilador'' elimina todos os espazos e saltos de liña que
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 [[{{PAGENAME}}#Erros|erro]] á hora da compilación.
Así, feita a análise, procédese á verdadeira compilación
==
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
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 [[{{BASEPAGENAME}}/Ligar un programa|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 [[{{BASEPAGENAME}}/Directrices para o preprocesador|directrices para o ''preprocesador'']]. Isto significa que o [[{{BASEPAGENAME}}/Ligar un programa|seguinte paso]] será necesario (case) sempre antes de poder [[{{BASEPAGENAME}}/Executar un programa|executar un programa]].
==Erros==
Durante a análise que se produce durante o [[{{PAGENAME}}#Proceso de compilación|proceso de compilación]] poden xurdir erros de compilación. Ante erros de compilación, esta cancelarase, e
*non rematar unha sentencia cun punto e coma (<code>;</code>),
*utilizar o [[{{BASEPAGENAME}}/Variables#Asignar valores a unha variable|carácter de asignación]] (<code>=</code>) en vez de o de [[{{BASEPAGENAME}}/Operadores#Operadores relacionais|igualación]] (<code>==</code>) nunha [[{{BASEPAGENAME}}/Expresións|expresión]], ou
*situar o <code>else</code>
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.
Liña 28 ⟶ 29:
{{Navegador|Editar un programa|Ligar un programa}}
[[Categoría:C|
|