LINUX.ORG.RU

libgc 1.0 - библиотека автоматической сборки мусора для C++


0

0

LibGC - небольшая, быстрая, портируемая и многопоточная библиотека сборки мусора для C++, распространяемая по лицензии BSD. Разработчик отмечает простоту и гибкость в использовании, а также эффективность. А что скажете вы? :)

>>> Домашняя страница



Проверено: Shaman007 ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

GC - гравицапа :)))) ой, не могу )) давно я так не смеялся :)) И про велогонки тоже замечательно подмечено.

Да, нигде кроме как на ЛОРе такого не услышишь :)

idLe ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

Я что-то не догнал. Читал недавно про Digital Mars D, там как раз есть GC, но сам автор говорит, что с точки зрения RT-программы, использование GC может привести к непредсказуемым задержкам, поскольку нельзя предсказать в какой момент сработает GC. Этой точки зрения, ручные new/delete более предсказуемы.

Casus ★★★★★ ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

эта... если два обжекта будут друг на друга сцылатся а более на них никто сцылаться не будет то они так и повиснут в памяти... классика..

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

> там как раз есть GC, но сам автор говорит, что с точки зрения RT-программы, использование GC может привести к непредсказуемым задержкам,

Это значит, что его GC - не RT. Только и всего.

> ручные new/delete более предсказуемы

:) Традиционные new и delete непредсказуемы, независимо от того как их вызывать - руками или нет.

anonymous ()
Ответ на: шагом марш в топку! от Dselect

Re: шагом марш в топку!

>> не скажете ли мне ламеру, какие RT "рантаймы c GC" вы знаете
> oberon (hard RT),
> http://www.ifr.mavt.ethz.ch/research/xoberon/introduction.html

Цитата со страницы:

"Further development will guarantee best-of-breed real-time
capabilities, like a real-time compatible incremental garbage collector"

Похоже, что нет там пока "realtime GC" - и неизвестно, будет ли.

anonymous ()
Ответ на: Re: шагом марш в топку! от anonymous

Re: шагом марш в топку!

Господам, спорящим по поводу с++, gc и RealTime иногда стоило бы задуматься о том, что RT ПО вообще как правило почему-то не пишется на с++. Сейчас я смотрю модно причислять себя к ламерам, поэтому я тоже скажу, что может я ламер, видел RT ПО на pure Си, видел даже на жаве, но на с++ - никогда.

Displacer ★★ ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

а как там с русификацией?

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

> Был бы счастлив получить урок эксперта!

http://int3.net/ex-book/Alger/Alger_C++.zip

Глава 14. Основы управления памятью: Подсчет ссылок.

IMHO, любой программист на С++ must have this book.

mutronix ★★★★ ()
Ответ на: Re: шагом марш в топку! от Displacer

Re: шагом марш в топку!

>Господам, спорящим по поводу с++, gc и RealTime иногда стоило бы задуматься о том, что RT ПО вообще как правило почему-то не пишется на с++. Сейчас я смотрю модно причислять себя к ламерам, поэтому я тоже скажу, что может я ламер, видел RT ПО на pure Си, видел даже на жаве, но на с++ - никогда.

QNX?

mutronix ★★★★ ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

мы скажем что тот кто не умеет писать правильно программы и грамотно использовать память - тому и гц не поможет. гц как костыль для пионеров "а я вот хачу кнопачку и шобы выскакивало акошичко" разве что нужен

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

>К тому же, зачем выполнять дурную работу?

если программирование с участием мозга это уже дурная робота то наверное пора большей части "программастов" задуматься о переквалификации в дворники.

не я понимаю, самоучение по дешевым книгам и отсутствие академического обучения рождают чудовищ, но не до такой же степени

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

>все может быть и ты помнишь все выделения памяти, даже когда делаешь связные списки, да вообще работаешь с динамическими данными...

боже ж мой, программаст на программасте. скоро тут будут посты "а что за Esc? он где? ты что с процом в башке что помнишь все кнопки? тебе что мыши мало?"

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

> самоучение по дешевым книгам и отсутствие академического обучения рождают чудовищ

Небезынтересно то, что как раз языки с автоматическим управлением памятью (Lisp, ML, Oberon и т.п.) пользуются куда бОльшим уважением именно в академических сообществах. И скорее всего именно потому, что у ученых есть задачи поинтереснее, чем поиск очередной утечки памяти или потертого блока. Другое дело программисты --- им за это платят. :-)

--

SVK

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

Чувак, ты всё прочитал, что тут обсуждалось?

Компактификацию структур тоже сам, кривыми ручонками писать будешь? Отложенное инкрементальное освобождение для разлапистых структур (e.g., частей графов, где заранее не знаешь, сколько элементов оторвано - это к тому умнику, который предлагал удалять целыми страницами) - это тоже, ручонками нарисуешь, без GC? Да ты ламер, как я погляжу. Очень необразованный, но при этом очень самоуверенный ламер.

Idiot ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

Ты сильно болен на все головы.

Программирование с применением мозга тем и отличается от пионерщины, что не требует тратить время и силы на легко автоматизируемые, низкоуровневые задачи.

Жаль только, что большинство пионэров никогда не вырастут - у них слишком маленькие мозги, чтобы туда поместилось что-то большее.

Idiot ()
Ответ на: Re: шагом марш в топку! от Displacer

Re: шагом марш в топку!

>RT ПО вообще как правило почему-то не пишется на с++.

Господа, которые с мозгами - сходите на www.qnx.ru и посмотрите на средства разработки под QNX например, далее сходите на www.qnx.org.ru -посмотрите форумы или задайте вопрос на форуме, посмотрите com.realtime, а потом уже и делайте выводы.

>что может я ламер, видел RT ПО на pure Си, видел даже на жаве, но на с++ - никогда.

протри глаза ламер.

P.S.

"жава" это что?

anonymous ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

>эта... если два обжекта будут друг на друга сцылатся а более на них никто сцылаться не будет то они так и повиснут в памяти... классика..

Вот тестовый код для этого gc:

#include "gc.hpp"
using namespace gc;
#include <iostream>
using namespace std;

//big
class Foo : public Object {
public:
~Foo(){cout << "~Big()" << endl; };
Pointer<Foo> p;
int m_data[500];
};

void init()
{
Pointer<Foo> p, p1;
p = new Foo;
p1 = new Foo;
p->p = p1;
p1->p = p;
};

int main()
{
init();
cout << collectGarbage() << endl;
cin.get();
return 0;
};

А вот результаты его работы:
g++ main2.cpp gc.cpp
./a.out
~Big()
~Big()
4032



anonymous ()
Ответ на: Re: шагом марш в топку! от mutronix

Re: шагом марш в топку!

> klalafuda, прокоментируйте пожалуйста ссылку, может я чего не так понял?

как средство разработки C++ конечно же есть. и gcc и intel и ошметки watcom. но сам QNX и Photon написаны на C. что в прочем ничего не говорит ни за ни против использования C++ в подобных проектах.

// wbr

klalafuda ★☆☆ ()
Ответ на: Re: шагом марш в топку! от klalafuda

Re: шагом марш в топку!

> как средство разработки C++ конечно же есть. и gcc и intel и ошметки watcom. но сам QNX и Photon написаны на C.

Ясно, буду знать.

mutronix ★★★★ ()
Ответ на: Re: шагом марш в топку! от anonymous

Re: шагом марш в топку!

Забавно смотреть, как люди, в жизни не написавшие ни одного куска кода ни для операционной системы, ни драйвера, ни RT приложения раз от разу убеждают в том, что RT приложения нужно писать на С++ :) Да, еще они почему-то жутко любят QNX и считают, что он тоже написан на С++.

Displacer ★★ ()
Ответ на: Re: шагом марш в топку! от Displacer

Re: шагом марш в топку!

Если вы это о мне, то я никого не убеждал никого в том, что RT-приложения следует писать на С++. Про QNX я просто спросил. Ну а почему присутствующие тут люди не писали на С++ компоненты ОС(я так понял, вы подразумеваете ядро), думаю и так ясно. Нет открытых ядер на С++ и соответственно модули к ядрам тоже пишут на С. Был же патч для ядра позволяющий использовать исключения стандарта С++, так распространения он не получил.

mutronix ★★★★ ()

Re: libgc 1.0 - библиотека автоматической сборки мусора для C++

если объекты ссылаются друг на друга, то им ничего не поможет.. Потому как GC не сможет за тебя решить какой из ник первый деструктурировать, единственное что он может -- это просто высвободить память, которую объекты занимали. А если в дестркуторе одного объекта мне понадобится поюзать второй? (напиши в деструкторе p->m_data;)

Я с данным gc не знаком, но боюсь, что это скорее бага, чем фича :-)

С другой стороны, полагаешься на GC, нефиг ресурсы в деструторе высвобождать, делай функцию close и зови ее руками.

dimonb ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.