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
#include <malloc.h>
#include <stdio.h>
#define SIZE 1024
int main (void) {
void *pointer;
pointer = malloc(102400000000);
if(pointer==NULL) printf("O espaçnãfoi alocado\n");
else printf("Espaçalocado com sucesso\n");
return 0;
}
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?
Denis.