Tue
28
Aug 2007
Zlib to biblioteka do kompresji danych. Zdawało by się, że jest prosta - jej zasadniczą funkcjonaloność, czyli kompresję albo dekompresję kawałka pamięci wykonuje się używając jednej prostej funkcji. Okazuje się jednak, że poprawne używanie tej funkcji jest nie lada sztuką, a jej objaśnienie wypełnia całkiem niekrótki artykuł (ze względu na różne przypadki szczególne i tak nie do końca). Choć taki a nie inny wygląd tej funkcji ma swoje uzasadnienie w sposobie, w jaki działa, to wg mnie możnaby go podawać jako książkowy przykład jak *nie* należy projektować interfejsu biblioteki.
Jeśli ktoś, zamiast usiłować zrozumieć zasadę działania funkcji inflate i deflate, chce zobaczyć jak obudować te funkcje w wygodne klasy strumieni, może podpatrzeć kod modułu ZlibUtils z mojej biblioteki CommonLib 6.1. Szczegóły:
Comments | #c++ #libraries Share