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...