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が必要です。
- ヘッダーファイルは、プロジェクトのプロパティの
C/C++→GeneralにあるAdditional Include Directoriesに追加すべきです。 - インポートライブラリは、プロジェクトのプロパティの
Linker→InputにあるAdditional Dependenciesに追加しなければなりません。ライブラリのフルパスを使わずにliblz4.dll.aという名前だけを指定する場合は、そのディレクトリをLinker\General\Additional Library Directoriesに追加しなければなりません。
コンパイルした実行可能ファイルには、dll\msys-lz4-1.dllにあるLZ4 DLLが必要です。