Страниц: [1]
  Печать  
Автор Тема: сборщик мусора в QNX4.25  (Прочитано 6448 раз)
vkorn
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« : Февраля 04, 2003, 06:37:00 am »

Выделяем память, скажем 65К. смотрим, и правда, сегмент данных увеличился. делаем free().  сегмент данных не уменьшился. Вопрос: что делать?Huh?

Народ! Очень нужно, ответьте пож-та...
Записан
avs
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #1 : Февраля 06, 2003, 08:06:00 pm »

Часто правильный способ зависит от контекста. Иногда может помочь после free() что-то типа _heapshrink(), но не гарантирую. Есть такая штука, как  PxConfigOpen()/PxConfigClose(), с некоторыми "особенностями" которых сначала пришлось бороться подобным образом, после чего вообще отказаться от их использования.
Записан
klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #2 : Февраля 06, 2003, 08:40:00 pm »


vkorn пишет:
Выделяем память, скажем 65К. смотрим, и правда, сегмент данных увеличился. делаем free().  сегмент данных не уменьшился. Вопрос: что делать?Huh?

Народ! Очень нужно, ответьте пож-та...



#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>

#pragma aux _ds = "mov ax,ds" modify exact nomemory [ax];
int _brk(void *endds)
   {return((qnx_segment_realloc(_ds(), (long)endds) == -1) ? -1 : 0);}

main (void)
{
 char *buffer;
 printf("This is the memory used before the malloc
");
 printf("Take a look at the memory use with the sin command
");
 printf("Press a key to continue
");
 getch();
 buffer=(char *)malloc(5000000);
 free(buffer);
 printf("This program malloc'ed 5M of memory
");
 printf("Take a look and press a key when confirmed
");
 getch();
 _heapshrink();
 printf("The program has now released the memory, take a look.
");
 printf("Press a key to end the program
");
 getch();
 exit(0);    
}


(c) qnx2000 conference materials

// wbr
Записан
booBot
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #3 : Августа 23, 2004, 04:29:45 pm »

Это к QNX4 (тоже) относится?
Записан
klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #4 : Августа 23, 2004, 04:51:36 pm »

---cut---
Это к QNX4 (тоже) относится?
---cut---

это относится только к QNX4

// wbr
Записан
booBot
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #5 : Августа 24, 2004, 03:19:59 pm »

Спасибо!
Записан
Страниц: [1]
  Печать  
 
Перейти в: