exemplo:
o exemplo abaixo não vai rodar pq faltam informações, é apenas um overview do q está acontecendo..
- Código: Selecionar todos
/*****************************************/
//arquivo mensagem.c
void mensagem()
{
escreve_lcd("Mensagem1"); //ocupa 10 bytes da memoria RAM
escreve_lcd("Mensagem2"); //ocupa 10 bytes da memoria RAM. totalizando 20 bytes
}
void mensagem2()
{
escreve_lcd("Mensagem3");
escreve_lcd("Mensagem4");
}
//main.c
#include"mensagem.h"
void main()
{
mensagem();
mensagem2();
}
*////////////////////////////////////*
No final da compilação ele está ocupando pouco mais de 40 bytes, ao invés de aproximadamente 20 bytes.
Até onde eu sei, as variáveis locais que estão na função mensagem, deveria ser liberada após a saída da função, mas não acontece. Quando eu compilo ele simplesmente soma as variáveis da função mensagem com as da função mensagem2...
Alguém pode me ajudar com isso? já estou ficando desesperado, pois estou a uma semana batalhando para conseguir encontrar uma solução ou explicação para isso.
Até mais