C/Compilar un programa: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Sen resumo de edición
Gallaecio (conversa | contribucións)
Sen resumo de edición
Liña 1:
{{Navegador|RequisitosEditar un programa|OlaLigar un mundoprograma}}
Para crear un programa na linguaxe C precisaremos dun [[w:Compilador|compilador]] de C. O compilador de C que necesitaremos instalar dependerá do noso [[w:Sistema operativo|sistema operativo]], xa que os programas dun sistema operativo non funcionan nos outros. Por exemplo, un programa de Microsoft Windows non funcionará nunha distro de Linux (aínda que existen xeitos de mandar esta regra a tomar por saco), e viceversa. De todos xeitos, moitos programas teñen versións adaptadas a diferentes sistemas operativos, e para o caso que nos ocupa, hai que deixar claro que hai compiladores de C en todos os sistemas operativos.
 
Despois de editar o ficheiro de texto simple e escribir nel un programa en linguaxe C, toca compilar tido programa. Isto é, traducir o ficheiro de texto simple en C a un ficheiro binario, é dicir, en linguaxe máquina, que o computador poida entender. Esta tarefa realizarémola co compilador da nosa elección. Se non tes un compilador, volve ao apartado dos [[{{BASEPAGENAME}}/Requisitos#Compilador|requisitos]], no que se nomeaba algún programa para compilar.
Para crear un programa en C procederemos do seguinte xeito. Cun editor de texto simple (Bloc de notas, gEdit, Kate, Vim, Emacs...) escribiremos o [[w:código fonte|código fonte]] do noso programa cun ficheiro que teña extensión ".c" (e non ".txt"). Unha vez temos o ficheiro, hai que compilalo. Isto proporcionaranos un programa que poderemos executar no noso sistema operativo.
 
Quizáis a estas alturas andes algo perdido entre tanta palabrería, pero reláxate, que máis adiante entenderás todo todiño. Agora, amosámosche xeitos de compilar un programa en diferentes sistemas operativos, e con diferentes aplicacións.
 
==Erros==
==Compilar un programa en GNU/Linux==
O compilador realiza unha análise sintáctica e semántica das instrucións do código fonte. De dita análise poden xurdir erros de compilación. Ante erros de compilación, esta cancelarase, e teremos que corrixilos. Xeralmente o propio compilador indicaranos en que liña se atopou cos erros, e con máis ou menos detalles diranos cal foi o erro. Entre os erros máis habituais están:
GNU/Linux é o nome dun sistema operativo, e Linux é o nome do núcleo que se utiliza na maioría dos sistemas GNU. É un dos paradigmas do software libre que calquera persoa ten dereito a usar, modificar e distribuir.
*non rematar unha sentencia cun punto e coma (<code>;</code>), ou
*situar o <code>else</code> dunha sentencia <code>if</code> despois de sentencias que están fora 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.
Como vimos anteriormente, unha das vantaxes de GNU/Linux, a máis importante para o programador, é que podemos acceder libremente ao seu código fonte, o código co que foi creado, e tamén conta coa vantaxe de ter o compilador de C/C++ integrado. Isto permítenos crear os nosos propios programas sen necesidade de instalar un compilador, e incluso poderemos modificar o propio sistema operativo (de aí a importancia que o softwre libre ten para os programadores). Só o sistema operativo Unix pode ofrecer estas mesmas vantaxes.
 
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.
===Compilar con GCC desde terminal===
O primeiro será conseguir o programa. A forma de facelo en GNU/Linux variará dunha distribución a outra, e o mundo está cheo delas. Aquí tes xeitos de facelo nalgunhas das máis populares. En caso de que a túa non apareza, sempre pode ocorrer que che veña instalado por defecto.
 
* En [[w:Redhat|Redhat]], faite cun [[w:RPM|RPM]] do GCC, usando, por exemplo, Rpmfind, e a continuación instala coma root usando <tt>rpm -ivh gcc-''version''-''release''.''arch''.rpm</tt>
* En [[w:Fedora Core|Fedora Core]], instala o compilador GCC como root co comando <tt>[[w:yum|yum]] install gcc</tt>
* En [[w:Mandrake|Mandrake]], instálao coma root escribindo <tt>[[w:urpmi|urpmi]] gcc</tt> na terminal.
* En [[w:Debian|Debian]], instálao con <tt>[[w:Advanced Packaging Tool|apt-get]] install gcc</tt>
* En [[w:Ubuntu|Ubuntu]], instálao xunto con outras aplicacións necesarias escribindo <tt>sudo [[w:Aptitude|aptitude]] install build-essential</tt>, ou co Synaptic.
* En [[w:Slackware|Slackware]], tes o paquete dispoñible no seu [http://www.slackware.com/pb/ sitio web], así que báixao e escribe nunha terminal <tt>installpkg gcc-xxxxx.tgz</tt>
* En [[w:Gentoo|Gentoo]], deberías telo instalado por defecto, xa que o usaches ao instalar o sistema operativo. Para actualizalo entra como root e introduce <tt>emerge -uav gcc</tt>
* En Arch GNU/Linux, instálao coma root utilizando <tt>pacman -Sy gcc</tt>.
* En [[w:FreeBSD|FreeBSD]], [[w:NetBSD|NetBSD]], [[w:OpenBSD|OpenBSD]], [[w:DragonFly Bsd|DragonFly BSD]], [[w:Darwin|Darwin]] o porto do GCC está dispoñible no sistema base, ou podes conseguilo usando a colección de portos ou [[w:pkgsrc|pkgsrc]].
* Se non podes utilizar a conta de root, consegue o ficheiro comprimido en ftp://ftp.gnu.org/ e segu as instrucións para compilalo e instalalo no teu directorio persoal ou ''home''. Aviso, precisas dun compilador de C para facelo. En efecto, GCC foi escrito en C, así que que pensas agora? Primeiro foi o ovo ou a galiña?
 
{{Navegador|Editar un programa|Ligar un programa}}
Unha vez teñas o programa, estes son os pasos a seguir para compilar un programa en GNU/Linux desde terminal con '''GCC''':
[[Categoría:C|CompilacionCompilar un programa]]
 
*Entramos na consola ou terminal do sistema (en caso de estarmos no entorno gráfico).
*Situámonos no cartafol en que temos o noso código fonte coa extensión ".c" que previamente fixemos cun editor de texto simple. Para iso:
:$ cd [ruta do cartafol]
:Exemplo:
:$ cd /home/usuario/"caralladas de programación"/"Ola Mundo"/ ''
:As comiñas (") úsanse para introducir na terminal ou consola nomes de cartafoles ou ficheiros que posúen espazos, é dicir, con varias verbas.
*Unha vez estamos no cartafol, simplemente compilamos co seguinte comando:
:$ gcc [nome do ficheiro que contén o código fonte].c
:En caso de que non recordemos o nome, o seguinte comando amosaranos os ficheiros contidos no cartafol:
:$ ls
:Se hai algún erro no programa, non se compilará, pero o compilador avisaranos dos problemas que houbo, indicándonos a liña en que ocorreu e o motivo, de xeito que poderemos solucionalos con relativa facilidade.
*Unha vez o compilador non nos dé ningún problema, será porque o programa foi compilado. Aparecerá no cartafol un ficheiro co nome "a.out", que será o noso programa. Para executalo, só temos que executar desde a propia terminal ou consola o seguinte comando:
:$ ./a.out
Se todo foi ben, o noso programa empezará a funcionar. O mellor sería empezar co Ola Mundo cuxa programación será explicada no [[Programación en C/Ola mundo|vindeiro capítulo]].
==Compilar un programa en Windows==
===Conseguir o GCC para Windows===
Estes son os pasos a seguir para conseguir unha instalación do compilador de C GCC nunha plataforma Windows:
# Vai a http://www.cygwin.com e preme sobre o texto que di "Instalar Cygwin Agora" (pode estar en inglés) na esquina superior dereita da páxina.
# Preme en "executar" no cadro de diálogo que aparecerá a continuación, e preme "seguinte" repetidas veces aceptando así todas as configuracións predeterminadas.
# Elixe calquera dos sitios de descarga ("ftp.easynet.be", etc.) cando te apareza a fiestra que cho pida; preme "seguinte" e o instalador do Cygwin debería de iniciar a descarga.
#Cando apareza a fiestra de selección de paquetes, vai á cabeceira "Devel" e preme no "+". Na lista de paquetes recén despregada, baixa ata dar co paquete "gcc-core"; este é o compilador. Preme unha vez sobre "Saltar" (Skip), e debería de cambiar a un número coma "3.4" etc. (o número da versión), e unha X debería aparecer ao lado de "gcc-core" e outros paquetes relacionados que se baixarán.
# Preme "seguinte" e o compilador, ao igual que as ferramentas Cygwin deberían comezar a súa descarga; isto podería levar un anaco.
# Cando as descargas do Cygwin rematene teñas premido "seguinte", etc. para finalizar a instalación, preme dúas veces seguidas sobre a icona do Cygwin que apareceu no teu escritorio para iniciar a súa liña de comandos.
# Preme "gcc" no Cygwin e a continuación "intro"; se te da unha mensaxe coma "gcc: no input files" ou algo parecido, quererá dicir que xa tes o compilador instalado no teu sistema, e felicidades, tamén acabarás de recibir a túa primeira mensaxe de erro! (do programa en si, que se usas Windows xa estarás afeito a erros ;-).
 
[[Categoría:C|Compilacion]]
 
{{Navegador|Requisitos|Ola mundo}}