Wraz z kolegą przygotowujemy sobie treningowo (a zarazem na zaliczenie) kalkulator. Podzieliliśmy się w ten sposób, że ja projektuję rdzeń (przetwarzanie ONP, ładowanie pluginów z funkcjami róznego rodzaju i takie tam bajery) i opiekuję się projektem (poznając autotoolsy), a on robi interfejs graficzny używając GTK+ 2.x i Glade.
Nadeszła już faza projektu odpowiednia na poważne programowanie GUI (patrz – rdzeń w większości działa, a Google potwierdza wyniki) i powoli, powoli zaczyna się budowa tegoż interfejsu.
Aktualnie udało nam się scalić kawałek okienka z rdzeniem i po wpisaniu wyrażenia w TextEdit i naciśnięciu przycisku się oblicza.
Chcąc sprawdzić, czy są memleaki, skorzystałem z funkcji mtrace
, dzięki której automagicznie można sprawdzić, czy gdzieś nie cieknie.
$ MALLOC_TRACE="./mtrace.log" ./wyswtekstu $ ls -l mtrace.log -rw-r--r-- 1 dragonee dragonee 10951417 gru 4 23:41 mtrace.log
Samo wypluwanie wyjścia komendy mtrace
, która przetwarza powyższy log i wyświetla adresy pamięci, które nie zostały zwolnione, zabrało mi jakąś minutę.
Zastanawiam się teraz, czy GTK+ tak ma, czy to tylko niezapisanie jakiejś magicznej komendy czyszczącej…
Co do sprawdzania wycieków — valgrinda znasz? Nie tylko wycieki sprawdza. 🙂
Obił mi się o uszy… Czas na skorzystanie. 😉