リファレンス実装の移植性
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/11/07 00:38 UTC 版)
「Lempel-Ziv-Markov chain-Algorithm」の記事における「リファレンス実装の移植性」の解説
ソースコードには、広範囲でMicrosoft Windows特有の機能が使用され、しかも分離されていない。このため、リファレンス実装がフリーソフトウェアであるにもかかわらず、UNIX互換用バージョンが登場するまでに時間がかかった。 現在、Unix系プラットフォームで動く移植版が2つある: p7zip、これは7-Zipの7zと7zaコマンドラインツールの移植版である。p7zipは、標準7zアーカイブストリームを生成する。これはLZMAに組み合せることができる追加フィルタで使用されている。フィルタは、たとえば、実行ファイルのジャンプやサブルーチン呼び出し命令の相対アドレス前処理などである。 LZMA Utils、これはLZMAコードだけからなる移植版である。これは生のLZMAストリームを、gzipやbzip2圧縮ユーティリティと同様に扱えるように設計されている。lzmaツールで、.tarのように複数のファイルをアーカイブできる。出力は、ヘッダ情報のない生のLZMAである。現在ではXZ Utilsがメインストリームとなり、LZMA Utilsの開発は終息している。 XZ Embedded、XZ Utilsの伸張コードだけを抜き出して整理したライブラリで、主にLinuxカーネルのブート時に使用する前提で設計されている。但し、他の独自のシステムにも容易に移植可能となっている。 注意:7-ZipとLZMAで生成されるLZMAストリームは異なる。つまり非互換である。基本的に、一方のツールで生成したファイルはもう一方で扱うことはできない。ただし7-Zipはバージョン4.58でLZMAストリームの伸張をサポートした。7-Zipは非圧縮時のファイルサイズを含む64ビットヘッダエントリを付加するが、LZMA Utilsではこれがない。
※この「リファレンス実装の移植性」の解説は、「Lempel-Ziv-Markov chain-Algorithm」の解説の一部です。
「リファレンス実装の移植性」を含む「Lempel-Ziv-Markov chain-Algorithm」の記事については、「Lempel-Ziv-Markov chain-Algorithm」の概要を参照ください。
- リファレンス実装の移植性のページへのリンク