User Tools

Site Tools


exemplo_de_interacao_com_a_maquina_para_compilar

A seguir, apresenta-se uma sessão de trabalho em que se compila o programa alomamae.pas.

$> ls -l
-rw-r--r-- 1 marcos c3sl 60 Ago  4 11:18 alomamae.pas

Este comando mostra que no diretório de trabalho existe um arquivo de nome alomamae.pas que foi criado às 11h18min do dia 4 de agosto de 2009. Este arquivo é de propriedade do usuário marcos, que pertence ao grupo c3sl. O arquivo pode ser lido por qualquer usuário, mas pode ser alterado apenas pelo dono. Como última informação, ele ocupa 60 bytes de disco.

$> fpc alomamae.pas
Free Pascal Compiler version 2.2.2-8 [2008/12/20] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Linux for i386
Compiling alomamae.pas
Linking alomamae
6 lines compiled, 0.2 sec

O comando acima invocou o compilador, que imprimiu algumas mensagens de versão e autoria, fundamentalmente informando que compilou as 6 linhas do programa em $0.2$ segundos.

$> ls -l
-rwxr-xr-x 1 marcos c3sl 114400 Ago  4 11:28 alomamae
-rw-r--r-- 1 marcos c3sl   1832 Ago  4 11:28 alomamae.o
-rw-r--r-- 1 marcos c3sl     60 Ago  4 11:18 alomamae.pas

O comando acima mostra que, às 11h28 minutos do dia $4$ de agosto de 2009, foram criados, pelo compilador, dois arquivos novos: alomamae e alomamae.o. O primeiro é um arquivo executável ocupando 114.400 bytes em disco, o segundo é um arquivo temporário utilizado pelo compilador durante o processo de geração de código. O leitor deste material não deve se preocupar com este arquivo no momento.

$> ./alomamae
Alo mamae!
$>

Finalmente, foi executado o programa e vemos a saída, conforme esperado. Tentar executar o arquivo-fonte produziria o seguinte erro:

</code> $> ./alomamae.pas bash: ./alomamae.pas: Permissão negada $> </code>

Isto ocorre porque o código-fonte não é, como explicado, um arquivo executável, ele apenas contém as instruções que servem para que o compilador gere o programa de fato.

exemplo_de_interacao_com_a_maquina_para_compilar.txt · Last modified: 2019/04/24 11:27 by castilho