C++ i garbage collection

0

Witam
Znacie jakieś dobre odśmiecacze dla C++? Wiem, że któryś z użytkowników 4p napisał taki moduł, tylko nie pamietam skąd to mozna ściągnąc. Czy w booscie jest też jakiś garbage collector?

0

Nie ma. Ale jak chcesz Garbage Collection to pisz w C++/CLI pod .net. Ew. zainteresuj się smart pointerami z boost, czy choćby auto_ptr z biblioteki standardowej.

0

Buhahaha, jak nie ma jak są! :-[

  1. Boehm-Demers-Weiser - profesjonalny, działa w C i C++ na wielu systemach, zachowawczy, blokujący.
  2. Moja implementacja - tylko w C++, Linux/Unix/BSD (bez Windows), dokładna, nieblokująca. Tyle że chwilowo nie mam jej na stronie, bo mi serwer zamkneli, ale jeśli znajdę chwilkę wolnego, to znowu udostępnię. Podaj maila na priv, to Ci podeślę paczkę (tar.gz, instalacja configure, make, make install).

W wakacje mam zamiar dostosować go do wymagań Boosta i może włączą, bo
w Boost są tylko wskaźniki zliczające referencje. Tego nie można nazwać prawdziwym GC, no i dodatkowo są one b. wolne.

0
Krolik napisał(a)

Buhahaha, jak nie ma jak są! :-[

Pytanie było: Czy w booście jest... Osobiście uważam GC w C++ za głupotę dla leniwych pseudo programistów ;-)

0
DzieX napisał(a)
Krolik napisał(a)

Buhahaha, jak nie ma jak są! :-[

Pytanie było: Czy w booście jest... Osobiście uważam GC w C++ za głupotę dla leniwych pseudo programistów ;-)

Hehe to pewnie programiści Javy to nie programiści ;-)

0

Główne pytanie było:
[quote]Znacie jakieś dobre odśmiecacze dla C++? [/quote]

Używanie odśmiecacza w C++ jest jak najbardziej zalecane, bo bardzo upraszcza interfejsy użytkownika, powoduje że kod jest czytelniejszy, mniejsze jest ryzyko popełnienia poważnych błędów, szybciej się programuje itp. Jak ktoś chce z tego rezygnować, no cóż - jego strata, ale będzie do tyłu wobec tych, co potrafią używać odśmiecacza.

0

A i mój mail to: [email protected]. Szkoda, że tylko na Linuxa ale na pewno też się przyda :)

0
Krolik napisał(a)

Główne pytanie było:
[quote]Znacie jakieś dobre odśmiecacze dla C++? [/quote]

Taa... i na to pytanie bym odpowiadał, że nie ma...

Krolik napisał(a)

Używanie odśmiecacza w C++ jest jak najbardziej zalecane, bo bardzo upraszcza interfejsy użytkownika, powoduje że kod jest czytelniejszy, mniejsze jest ryzyko popełnienia poważnych błędów, szybciej się programuje itp. Jak ktoś chce z tego rezygnować, no cóż - jego strata, ale będzie do tyłu wobec tych, co potrafią używać odśmiecacza.

Tylko wprowadza złe nawyki do stylu programowania. Używanie odśmieczacza to żadna sztuka.

0
DzieX napisał(a)

Tylko wprowadza złe nawyki do stylu programowania. Używanie odśmieczacza to żadna sztuka.

Największa sztuka to napisać w assemblerze relacyjną bazę danych [green] Ja jednak wolałbym to zrobić w C++ i najlepiej z GC :p

0

Dobra odpowiedź, rtp.
A ja polecam jednak najpierw DzieXowi napisać silnik relacyjnej bazy danych w czymkolwiek mu najłatwiej, nawet z GC i zobaczymy, czy też powie że to żadna sztuka. :>

0

Jednym jest napisanie GC lub bazy, a drugim używanie. Zresztą nie wiedziałem, że mówimy o takim projekcje ;-)

0

http://www.codeproject.com/library/libgc30.asp

Troche odswiezam stary watek, ale widze ze problem nierozwiazany, a akurat na to natrafilem przypadkiem.

Dziala w vc++ i devCPP pod Windows.

0

Nawet nie wiem co to są te odśmiecacze - może ktoś wyjaśni jak to ma działać w C++.

Tworzę obiekt dynamicznie to później muszę go usunąć, aby RAM-u wystarczyło na inne nowe itp.
A jeśli to ma służyć przyspieszeniu operacji usuwania/allocowania pamięci.,
to raczej niewiele da się tu poprawić... a popsuć sporo - widać to dobrze,
gdy uruchomimy program robiony w Java, a w C# pewnie jeszcze lepiej... :-D

1 użytkowników online, w tym zalogowanych: 0, gości: 1