Ada_Ru форум

Обсуждение языка Ада

Re: [ada_ru] Высвобождениепамяти.

Оставить новое сообщение

Сообщения

Maxim Reznik
Re: [ada_ru] Высвобождениепамяти.
2007-07-13 09:50:14

On Thu, Jul 12, 2007 at 07:33:15AM +0000, Alexey Veselovsky wrote:

Поковырялся вот с Адой, всё хорошо, за исключением одного НО: стандарт Ады не регламентирует обязательное наличие автоматической сборки мусора. Более того - в

GNAT её вроде как и нету.

 

Вот реализация сборки мусора для GNAT-а. Правда, я пробовал ее довольно довно, но работала :)

 

http://adacl.sourceforge.net/

http://adacl.sourceforge.net/gc.html

 

В гугле нашлись еще ссылки, наверное более старые

http://www.enyo.de/fw/software/gnat-gc/

 

Вообще к использованию сборщиков мусора отношусь с подозрением.

 

В Аде использование объекто в куче заметно реже чем в Си, Си++, тк можно гибко пользоваться стеком и возвращать из функций объекты

зарания неизвестной длинны.

 

Ада предлагает мощьный механизм пулов памяти, с помощью которых

можно реализовать свою политику освобождения памяти. Упомянутый

способ удалять все объекту когда тип указателя выходит из области видимости тому пример.

 

Контролируемые типы позволяют легко написать всякие smart pointer, хотя тут следует учесть, что обработка объектов по одиночке потребует больше ресурсов и снизит степень оптимизации компилятора, чем

зачистка всеъ объектов "одним махом" как при искользовании пулов.

--

Maxim Reznik

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти