malloc & free

Dalibor Straka dast na panelnet.cz
Pondělí Leden 30 14:07:06 CET 2006


On Mon, Jan 30, 2006 at 09:25:38AM +0100, iko wrote:
> tych 500 mega chces v jednom bloku? mozno nemas volnych 500 mega v kuse...
> 
Kernel by mel pridelit 500MB z virtualni pameti a jak si ji
rozstrankuje a rozhaze je interni zalezitost. Ja to ted zkousel
a  proslo mi to ;), ale jenom s 1GB :). Server je muj doma
nejak stredne zatizeny, takze behem tech 10 vterin se jiste
neco stalo ;).

#include <stdio.h>

int main(void){
    int *p,*q;

    if(p = (int*)malloc(sizeof(char) * 1000 * 1048576)){
        printf("1GB\n");
        free(p);
    }
    if(p = (int*)malloc(sizeof(char) * 500 * 1048576)){
        printf("Yup!\n");
        free(p);
    }
	sleep(10);
    if(q = (int*)malloc(sizeof(char) * 500 * 1048576)){
        printf("Nup!\n");
        free(q);
    }

    return 0;
}


dast na dark:/tmp$ ./a.out
1GB
Yup!
Nup!

-- Dalibor Straka


Další informace o konferenci Linux