2010-09-02 11 views
6

Co to jest popularna biblioteka ogólnego przeznaczenia, jak Boost, to C++, ale C? Powinna to być biblioteka wieloplatformowa i zawierać kolekcje takie jak drzewa, listy połączone, kolejki itp. Jakie są zalety/wady tych bibliotek?C: Wspólne frameworki/biblioteki

Odpowiedz

8

glib jest bardzo ładne, ponieważ:

  • liberalnie licencjonowanych (LGPL)
  • stały rozwój
  • ton struktur danych
    • drzew
    • list
    • kolejek
    • buforuje
    • itp
  • good documentation
    • wiele przykładowy kod
  • rozwój "pomoc"
    • rejestrowanie
    • wątek abstrakcji
    • baseny gwint
    • Test ramowe
    • czasomierze wsparcie
  • Unicode
  • wiele obsługiwane platformy
  • wyrażenia regularne
  • ton więcej ...
+0

pominąłem wygadany jak biblioteki bazowej, ponieważ nie jest możliwe, aby połączyć go jako statyczne biblioteki (zwłaszcza, jeśli połączysz go z aplikacjami gnome) lub zmieniła się w międzyczasie? – Lothar

+0

@Lothar - jest * możliwe *, oznacza to tylko, że twoje oprogramowanie powinno być zgodne z LGPL;) Jeśli wymagania licencyjne są również ważne, możesz dodać je do swojego pytanie. – detly

+1

@Lothar: Aby coś wyczyścić, licencja 'glib' (LGPL) sprawia, że ​​twoja praca jest" połączoną pracą ", jeśli łączysz statycznie, zgodnie z sekcją 4. Nawet jeśli łączysz statycznie, nie musisz zwalniać pracuj na warunkach LGPL, o ile "skutecznie nie ograniczasz modyfikacji części Biblioteki zawartej w Połączonej Pracy". Jak możesz * nie * ograniczyć modyfikację 'glib', jeśli łączysz ją statycznie?Łatwe: dostarczaj pliki obiektowe, aby ludzie mogli łączyć w innej wersji 'glib'. P.S. Zakłada to, że nie modyfikujesz 'glib'. –

0

Przenośny wykonawcze Apache projekt

http://apr.apache.org/

jest dobre. Obejmuje podstawowe struktury danych i jest bardzo dobry w abstrakcji sieci i IO. Później jest o wiele lepiej niż glib.

Niestety większość linków dokument na stronach apache są podzielone w tej chwili :-( Ale ten działa pracę http://apr.apache.org/docs/apr/1.4/modules.html

+0

Dzięki Lothar. Dlaczego mówisz o jego wielkości lepiej? –

+1

To znacznie więcej funkcji, jeśli chcesz napisać serwer. Cóż, nie jest to prawdziwa niespodzianka. – Lothar

Powiązane problemy