Sprzątanie po C++
- Marian Łakomy,
- 07.12.1998
Great Circle jest narzędziem pozwalającym ustrzec się przed 'wypływaniem pamięci' w programach napisanych w C++.
Great Circle jest narzędziem pozwalającym ustrzec się przed 'wypływaniem pamięci' w programach napisanych w C++.
Zjawisko nazywane "wypływaniem pamięci" spowodowane jest tym, że kolejne obiekty w programie zajmują obszary pamięci operacyjnej i nie zwalniają jej, gdy nie korzysta się już z ich usług. Gdy liczba takich obiektów jest duża, wyczerpują się zasoby systemowe, komputer pracuje coraz wolniej, ponieważ system jest zmuszony przerzucać części aplikacji i danych na dysk, aż wreszcie zawiesza się. Automatyczne usuwanie nie używanych obiektów, zmiennych i funkcji z pamięci (garbage collection) zapewniło Javie (i innym językom interpretowanym) cechy, których brakuje przy programowaniu w C/C++.
Firma Geodesic Systems LLC (www.geodesic.com) opracowała program Great Circle, który ma zaradzić tym problemom. Zestaw bibliotek Great Circle dołączony do aplikacji spełnia rolę "sprzątacza" usuwającego z pamięci nie używane obiekty. Kontroluje stan bloków pamięci i obiektów C++ oraz ich połączenia z funkcjami (obiektami), które je przydzieliły lub stworzyły ich instancje. Gdy z programu zostanie usunięty wskaźnik do bloku lub obiektu, oznacza to, że blok pamięci lub miejsce zajmowane przez obiekt jest wolne i należy je dołączyć do obszarów wolnej pamięci systemowej. Interfejs Great Circle Transparent zapewnia szybkie i efektywne zarządzanie pamięcią, łącznie z jej defragmentacją.
Nie rozwiązuje jednak wszystkich problemów dotyczących pamięci. Źle zdefiniowane wskaźniki nadal będą pojawiać się i niszczyć dane lub program poza dopuszczalnymi obszarami pamięci. Mimo to opracowanie takiego narzędzia, jak Great Circle, to duży postęp.
<hr size=1 noshade>Produkt: Great Circle
Producent: Geodesic Systems LLC
Platformy: Windows, Sun Solaris i IBM AIX
Cena: (na rynku amerykańskim) 695 USD dla Windows i 1995 USD dla Unixa