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.