C/Compilar un programa: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Sen resumo de edición
m Bot: Cambios estética
 
Liña 3:
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 ==
O proceso de compilación consta de certas fases.
 
Liña 12:
Así, feita a análise, procédese á verdadeira compilación, que transformará o código fonte en [[{{PAGENAME}}#Código obxecto|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 ==
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 [[{{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 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 (<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> d[[{{BASEPAGENAME}}/if|unha sentencia <code>if</code>]] despois de sentencias que están fóra do <code>if</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 31:
 
<!-- Categorías: -->
 
[[Categoría:C ─ O primeiro programa|Compilar un programa]]