TPC4 NA
2010/11
Níveis de Abstração
TPC4 e Guião laboratorial
Luís Paulo Santos e Alberto José Proença
------------------------------------------------------------------------------------------------------------------------------------------------
Objetivo geral
Este documento é o guião para apoio ao funcionamento da primeira sessão laboratorial de SC.
É indispensável a sua leitura/estudo prévio, incluindo a resolução e entrega dos exercícios propostos.
Objetivo concreto
Assimilar, ao longo de uma sessão laboratorial, os vários níveis de abstração envolvidos no processo de desenvolvimento de software e respectivas representações usadas em cada nível, bem como os mecanismos de conversão entre esses níveis.
Para atingir estes objetivos: desenvolver um pequeno programa em C, constituído por 2 módulos, e acompanhar e visualizar as várias fases, usando ferramentas do Linux, gcc, gdb e objdump.
Para garantir idênticos resultados em todos os trabalhos, usar sempre a máquina virtual que se disponibiliza remotamente. O acesso faz-se executando "ssh lei-1011@sc.di.uminho.pt" numa consola Unix (ver a password na plataforma e-learning).
------------------------------------------------------------------------------------------------------------------------------------------------
1. Linguagem de alto nível (HLL)
Escreva em 2 ficheiros, usando o editor de texto que considerar mais adequado, os 2 módulos em C apresentados na tabela. prog.c soma.c main () int accum=0;
{
int x; void soma (int p)
{
soma (x); accum += p;
}
}
Exercício 1. (TPC) Em que formato está representada a informação contida nestes ficheiros?
Exercício 2. (TPC) Qual o tamanho da cada um dos ficheiros?
(Calcule manualmente e verifique com um comando da shell do Linux)
2. Compilação
Por compilação entende-se a conversão de um programa escrito num dado nível de abstração noutro de nível inferior. Historicamente o termo surgiu da conversão de um programa escrito numa HLL para o nível
do