Em 06/07/07, Maxwillian Miorim<miorimmax@gmail.com> escreveu:
> On 7/6/07, Davi <davividal@siscompar.com.br> wrote:
> > Em Sexta 06 Julho 2007 18:14, Denis escreveu:
> > > Em 06/07/07, Edson Marquezani Filho<edsonmarquezani@gmail.com> escreveu:
> > > > Tá faltando incluir os cabeçalhos das bibliotecas e é bom dar um valor
> > > > de retorno pra main.
> > > >
> > > > Nomeie com .c no final, compila com gcc -o nome_da_saída codigo_fonte.c
> > > >
> > > > Segue abaixo o código, testado aqui e funcionando.
> > > >
> > > > *********************************************************************
> > >
> > > > #include <malloc.h>
> > > > #include <stdio.h>
> > > > #define SIZE 1024
> > > >
> > > > int main (void) {
> > > >
> > > > void *pointer;
> > > >
> > > > pointer = malloc(1024);
> > > >
> > > > if(pointer==NULL) printf("O espaço não foi alocado\n");
> > > > else printf("Espaço alocado com sucesso\n");
> > > >
> > > > return 0;
> > > >
> > > > }
> > >
> > > Bom, isso aqui realmente compilou. Vamos lá:
> > >
> > > denismpa@bachianas:~> cat testa_mem.c
> > [...]
> > > }
> > >
> > > denismpa@bachianas:~> gcc -o testa_mem testa_mem.c
> > > denismpa@bachianas:~> free -g
> > > total used free shared buffers cached
> > > Mem: 260 97 163 0 0 18
> > > -/+ buffers/cache: 79 181
> > > Swap: 9 2 7
> > > denismpa@bachianas:~> ./testa_mem
> > > Espaçalocado com sucesso
> > > denismpa@bachianas:~> free -g
> > > total used free shared buffers cached
> > > Mem: 260 97 163 0 0 18
> > > -/+ buffers/cache: 79 181
> > > Swap: 9 2 7
> > > denismpa@bachianas:~>
> > >
> > > Aparentemente o programa funcionou, mas ele não deveria ter aumentado
> > > o tanto de memória em uso quando executado?
> > >
> > E aumentou... :-)
> >
> > Mas o programa terminou e a memória voltou a ser de quem era... Ou estou
> > errado? Faz um tempinho que não mexo com C...
> >
> > Você pode deixar um loop esperando uma ação (digitar algo) do usuário antes
> > de sair... Num outro terminal você checa a memória...
>
> Se tivesse usado memória o tamanho do campo "used" do free teria
> aumentado pois o sistema operacional alocaria o espaço e depois de
> usado este espaço estaria disponível como cache.
>
> man free
>
O que vc quer dizer, é que o programa em C não funcionou como o esperado?