LZMA SDK (Kit di Sviluppo Software)

L'LZMA SDK fornisce agli sviluppatori documentazione, codice sorgente e codice d'esempio necessario a scrivere software che utilizza la compressione LZMA.

Scarica Dimensione Data Versione Descrizione
scarica 292 KB 12.12.2007 4.57 LZMA SDK (C, C++, C#, Java)

Novità:

  1. 4.57: Ottimizzazione della velocità, alcune correzioni.
  2. 4.49: migliorato il decoder ANSI-C per .7z. Incluso il codce C++ per la gestione di archivi .7z.
  3. 4.43: Small changes for more compatibility with some C/C++ compilers.
  4. 4.42: Piccoli cambiamenti nei file .h della versione ANSI-C.
  5. 4.39: alcune correzioni nel codice C++ per l'ultima versione beta [altre informazioni]
  6. 4.37: alcune correzioni nel codice C++
  7. 4.35: alcune correzioni nella versione C++ del decoder LZMA [altre informazioni]
  8. 4.34: aumentate la velocità e i requisiti di memoria per la compressione
  9. 4.32: inclusa la versione Java dell'SDK

LZMA è il metodo generale di compressione predefinito del formato 7z in 7-Zip.
LZMA fornisce un alto rapporto di compressione e una decompressione molto veloce, per questo motivo è particolarmente adatto ad applicazioni embedded. Ad esempio può essere usato per la compressione di ROM.

LZMA SDK include:

  1. Codice sorgente C++ dell'encoder e del decoder LZMA
  2. Codice sorgente compatibile ANSI-C per la decompressione LZMA con esempio
  3. Codice sorgente C# per compressione e decompressione LZMA
  4. Codice sorgente Java per compressione e decompressione LZMA
  5. Programma compilato per sistemi Windows per compressione/decompressione LZMA file->file

È stato effettuato il porting da C++ a C del sorgente di decompressione ANSI-C LZMA. Inoltre è stato semplificato ed ottimizzato per ridurre la dimensione del codice pur mantenendo la completa compatibilità con LZMA da 7-Zip.

Caratteristiche di LZMA:

  1. Velocità di compressione: 500 KB/s con una CPU a 1 GHz
  2. Velocità di decompressione:
    1. 8-12 MB/s su un Intel Pentium 3 / AMD Athlon a 1 GHz .
    2. 500-1000 KB/s su un ARM, MIPS, PowerPC o altra CPU RISC a 100 MHz.
  3. Ridotti requisiti di memoria per la decompressione: 8-32 KB
  4. Ridotte dimensioni del codice per la decompressione: 2-8 KB (in funzione dalle ottimizzazioni di velocità)

Il decoder LZMA usa solamente operazioni con interi e può essere implementato in qualsiasi moderna CPU a 32 bit (o su una CPU a 16 bit ad alcune condizioni).

Licenza

L'LZMA SDK è disponibile sotto queste licenze::

  1. GNU Lesser General Public License (GNU LGPL)
  2. Common Public License (CPL)
  3. Licenza semplificata per codice non modificato (leggere le eccezioni speciali)
  4. Licenza proprietaria (si veda più sotto)

Questo significa che potete scegliere a piacere una di queste licenze e seguirne le regole.

ECCEZIONE SPECIALE: Igor Pavlov, in quanto autore di questo codice, permette espressamente di collegare staticamente o dinamicamente il vostro codice (o collegarlo per nome) ai file dell'LZMA SDK senza essere rendere il vostro codice collegato soggetto ai termini della CPL o della GNU LGPL.

l'eccezione speciale permette l'utilizzo dell'LZMA SDK in applicazioni con codice non aperto mantenendo invariato il codice dello stesso LZMA SDK.

ECCEZIONE SPECIALE #2: Igor Pavlov, in quanto autore di questo codice, permette espressamente l'utilizzo dell'LZMA SDK 4.42 sotto gli stessi termini e condizioni accordate dalla licenza utilizzata per qualsiasi versione precedente dell'LZMA SDK sviluppato da Igor Pavlov.

l'eccezione speciale #2 permette ai possessori di licenze proprietarie l'utilizzo dell'ultima versione dell'LZMA SDK come aggiornamento di versioni precedenti.

GNU LGPL e CPL sono abbastanza simili e ambedue sono classificate come free software licenses (licenze di software free) da http://www.gnu.org/ e OSI-approved da http://www.opensource.org/.

L'LZMA SDK è inoltre disponibile sotto licenza proprietaria che può includere:

  1. diritto di modifica del codice dall'LZMA SDK senza che il codice modificato debba sottostare ai termini della CPL o GNU LGPL
  2. supporto tecnico per LZMA SDK via email

Per richiedere questo tipo di licenza proprietaria e qualsiasi informazione aggiuntiva mandate una mail dalla pagina dell'assistenza

Il sorgente di 7-Zip viene rilasciato sotto i termini della GNU LGPL. È possibile scaricarlo dalla Pagina di 7-Zip su Source Forge

collegamenti utili su LZMA (in inglese):

  1. LZMA su wikipedia
  2. Port di uno sviluppatore indipendente di LZMA SDK per Java
  3. PyLZMA: Python bindings per LZMA
  4. Utilità per LZMA

Copyright (C) 2007 Igor Pavlov.