LZ4 Windowsバイナリーパッケージ

パッケージの内容

  • lz4.exe: gzipと同様の引数をサポートするコマンドラインユーティリティ。
  • dll\msys-lz4-1.dll: msysでコンパイルしたLZ4ライブラリのDLL。
  • dll\liblz4.dll.a: Visual C++用のLZ4ライブラリのインポートライブラリ。
  • example\: LZ4ライブラリの使用例。
  • include\: LZ4ライブラリに必要なヘッダーファイル。
  • static\liblz4_static.lib: 静的LZ4ライブラリ。

コマンドラインインターフェースの使い方

コマンドラインインターフェース(CLI)は、gzipと同様の引数をサポートします。既定では、入力ファイルを受け取り、出力ファイルに圧縮します。

    Usage: lz4 [arg] [input] [output]

CLIのコマンドの全一覧は、-hまたは-Hで取得できます。-3から-16までのコマンドで圧縮率を改善できますが、レベルが高いほど圧縮は遅くなります。CLIにはメモリ内圧縮ベンチマークモジュールがあり、開始圧縮レベルを-b、終了圧縮レベルを-e、反復時間を-i秒で指定します。CLIはパラメーターの結合をサポートします。例えば、-b1、-e18、-i1は-b1e18i1にまとめられます。

gcc/MinGWによる静的・動的LZ4ライブラリの使用例

cd exampleとmakeで、fullbench-dllとfullbench-libをビルドします。fullbench-dllはdllディレクトリの動的LZ4ライブラリを使います。fullbench-libはlibディレクトリの静的LZ4ライブラリを使います。

gcc/MinGWでLZ4 DLLを使う

gcc/MinGWでプロジェクトをコンパイルするには、include\のヘッダーファイルと、動的ライブラリdll\msys-lz4-1.dllが必要です。動的ライブラリはリンクオプションに追加しなければなりません。つまり、LZ4を使うプロジェクトが単一のtest-dll.cファイルからなる場合は、dll\msys-lz4-1.dllとリンクすべきです。例:

    gcc $(CFLAGS) -Iinclude\ test-dll.c -o test-dll dll\msys-lz4-1.dll

コンパイルした実行可能ファイルには、dll\msys-lz4-1.dllにあるLZ4 DLLが必要です。

Visual C++による静的・動的LZ4ライブラリの使用例

example\fullbench-dll.slnを開き、dllディレクトリの動的LZ4ライブラリを使うfullbench-dllをコンパイルします。このソリューションはVisual C++ 2010以降で動作します。2010より新しいVisual C++でソリューションを開くと、現在のバージョンにアップグレードされます。

Visual C++でLZ4 DLLを使う

Visual C++でプロジェクトをコンパイルするには、include\のヘッダーファイルと、インポートライブラリdll\liblz4.dll.aが必要です。

  1. ヘッダーファイルは、プロジェクトのプロパティのC/C++→GeneralにあるAdditional Include Directoriesに追加すべきです。
  2. インポートライブラリは、プロジェクトのプロパティのLinker→InputにあるAdditional Dependenciesに追加しなければなりません。ライブラリのフルパスを使わずにliblz4.dll.aという名前だけを指定する場合は、そのディレクトリをLinker\General\Additional Library Directoriesに追加しなければなりません。

コンパイルした実行可能ファイルには、dll\msys-lz4-1.dllにあるLZ4 DLLが必要です。