Ich las über Komprimierung in Programmen und ich fing an, ein neues einfaches Projekt zu erstellen, einen Reißverschluss (nur ein Reißverschluss, kein Entzipper), aber ich fand nur zLib, und es ist für C. Ich weiß, dass C-Bibliotheken sein können in C ++ verwendet, aber ich mag C ++ - Bibliotheken verwenden. Kennt jemand einen guten Vorschlag?
Beste Grüße.
Die meisten mir bekannten Komprimierungsbibliotheken sind aus zwei Gründen in C geschrieben: Erstens, das allgemeine Alter guter Komprimierungsalgorithmen; und zwei, die hohe Portabilität (und Stabilität) von C über Plattformen.
Ich schlage irgendeinen der folgenden vor. Wenn Sie gute Lizenzen haben möchten, wählen Sie eines der beiden besten aus. Wenn Sie GPL-Code verwenden möchten, wählen Sie eines der beiden letzten.
Ich würde vorschlagen, zlib zu verwenden. Es ist für C entworfen, aber es funktioniert gut in C ++.
Die Verwendung nativer C ++ - Bibliotheken hilft nur, wenn die Bibliothek ausreichend groß und komplex ist, dass sie von objektorientiertem Design profitieren kann. zlib ist relativ einfach und benötigt keine objektorientierten Funktionen.
zlib wird dringend empfohlen. Es ist gut geschrieben und die Schnittstelle ist ziemlich sauber. Ich sehe nicht, wie viel ein C ++ - Wrapper APIs vereinfachen kann. Darüber hinaus erreicht zlib aus meiner Sicht eine gute Balance zwischen (De-) Kompressionsgeschwindigkeit und Dateigröße. Bzip2 ist viel langsamer, während das Komprimierungsverhältnis von LZO und UCL schlechter ist.
Das mag ich (wirklich schnell und gute Kompressionsrate): Ссылка
Tags und Links c++ compression