понедельник, 2 июня 2008 г.

Memory Free Tool от индуса

В рассылке QT подсмотрел класный, просто ентерпрайз и каттинг едж, код для "освобождения" памяти в системе.
За подробностями обращаться к индусу Mahesh Mali в http://lists.trolltech.com/

main(int argc, char **argv) {
unsigned long int i,k=0, max;
char *p;

if (argc>1)
max=atol(argv[1]);
else
max=0xffffffff;

printf("Freeing %lu kB ram\n",max);
while (((p=(char *)malloc(1048576))!=NULL) && (k+1024<=max)) {
for (i=0;i<256;p[4096*i++]=0);
k+=1024;
fprintf(stderr,"\r%d kB allocated",k);
}
while (((p=(char *)malloc(65536))!=NULL) && (k+64<=max)) {
for (i=0;i<16;p[4096*i++]=0);
k+=64;
fprintf(stderr,"\r%d kB allocated",k);
}
while (((p=(char *)malloc(1024))!=NULL) && (k+1<=max)) {
for (i=0;i<16;p[64*i++]=0);
k+=1;
fprintf(stderr,"\r%d kB allocated",k);
}
fprintf(stderr,"\nMemory freed.\n");
exit(0);
}
Основная польза от линка - возможность подсмотреть выражения употребляемые в общении с индусами.

Комментариев нет: