FastLZ 快速无损压缩库 项目简介
FastLZ 是免费开源的,便携式压缩库。FastLZ 压缩 10 亿字节的文本文件,更多内容请看基准测试结果。支持 Microsoft Windows, Linux,其他 Unix 系统,甚至是 DOS。在 x86, Itanium 和 UltraSPARC 机器上也能运行的很好。FastLZ 包括两个文件: fastlz.h and fastlz.c。
使用 GCC 编译:
gcc -o 6pack 6pack.c fastlz.c
gcc -o 6unpack 6unpack.c fastlz.c
MinGW 编译:
mingw32-gcc -o 6pack 6pack.c fastlz.c
mingw32-gcc -o 6unpack 6unpack.c fastlz.c
使用 Microsoft Visual C++:
cl 6pack.c fastlz.c
cl 6unpack.c fastlz.c
使用 Borland C++:
bcc32 6pack.c fastlz.c
bcc32 6unpack.c fastlz.c
使用 OpenWatcom C/C++:
cl386 6pack.c fastlz.c
cl386 6unpack.c fastlz.c
使用 Intel C++ compiler for Windows:
icl 6pack.c fastlz.c
icl 6unpack.c fastlz.c
使用 Intel C++ compiler for Linux:
icc -o 6pack 6pack.c fastlz.c
icc -o 6unpack 6unpack.c fastlz.c
使用 LCC-Win32:
lc 6pack.c fastlz.c
lc 6unpack.c fastlz.c
使用 Pelles C:
pocc 6pack.c
pocc 6unpack.c
pocc fastlz.c
polink 6pack.obj fastlz.obj
polink 6unpack.obj fastlz.obj
为了优化速度,编译 flags 来优化选项。
经典的编译器 flags 如下:
* GCC (pre 4.2): -march=pentium -O3 -fomit-frame-pointer -mtune=pentium
* GCC 4.2 or later: -march=pentium -O3 -fomit-frame-pointer -mtune=generic
* Digital Mars C/C++: -o+all -5
* Intel C++ (Windows): /O3 /Qipo
* Intel C++ (Linux): -O2 -march=pentium -mtune=pentium
* Borland C++: -O2 -5
* LCC-Win32: -O
* Pelles C: /O2
使用 GCC 编译:
gcc -o 6pack 6pack.c fastlz.c
gcc -o 6unpack 6unpack.c fastlz.c
MinGW 编译:
mingw32-gcc -o 6pack 6pack.c fastlz.c
mingw32-gcc -o 6unpack 6unpack.c fastlz.c
使用 Microsoft Visual C++:
cl 6pack.c fastlz.c
cl 6unpack.c fastlz.c
使用 Borland C++:
bcc32 6pack.c fastlz.c
bcc32 6unpack.c fastlz.c
使用 OpenWatcom C/C++:
cl386 6pack.c fastlz.c
cl386 6unpack.c fastlz.c
使用 Intel C++ compiler for Windows:
icl 6pack.c fastlz.c
icl 6unpack.c fastlz.c
使用 Intel C++ compiler for Linux:
icc -o 6pack 6pack.c fastlz.c
icc -o 6unpack 6unpack.c fastlz.c
使用 LCC-Win32:
lc 6pack.c fastlz.c
lc 6unpack.c fastlz.c
使用 Pelles C:
pocc 6pack.c
pocc 6unpack.c
pocc fastlz.c
polink 6pack.obj fastlz.obj
polink 6unpack.obj fastlz.obj
为了优化速度,编译 flags 来优化选项。
经典的编译器 flags 如下:
* GCC (pre 4.2): -march=pentium -O3 -fomit-frame-pointer -mtune=pentium
* GCC 4.2 or later: -march=pentium -O3 -fomit-frame-pointer -mtune=generic
* Digital Mars C/C++: -o+all -5
* Intel C++ (Windows): /O3 /Qipo
* Intel C++ (Linux): -O2 -march=pentium -mtune=pentium
* Borland C++: -O2 -5
* LCC-Win32: -O
* Pelles C: /O2