-ZSTD Windows binary package
-====================================
+# ZSTD Windows binary package
-#### The package contents
+## The package contents
-- `zstd.exe` : Command Line Utility, supporting gzip-like arguments
-- `dll\libzstd.dll` : The ZSTD dynamic library (DLL)
-- `dll\libzstd.lib` : The import library of the ZSTD dynamic library (DLL) for Visual C++
-- `example\` : The example of usage of the ZSTD library
-- `include\` : Header files required by the ZSTD library
+- `zstd.exe` : Command Line Utility, supporting gzip-like arguments
+- `dll\libzstd.dll` : The ZSTD dynamic library (DLL)
+- `dll\libzstd.lib` : The import library of the ZSTD dynamic library (DLL) for Visual C++
+- `example\` : The example of usage of the ZSTD library
+- `include\` : Header files required by the ZSTD library
- `static\libzstd_static.lib` : The static ZSTD library (LIB)
-
-#### Usage of Command Line Interface
+## Usage of Command Line Interface
Command Line Interface (CLI) supports gzip-like arguments.
By default CLI takes an input file and compresses it to an output file:
-```
+
Usage: zstd [arg] [input] [output]
-```
+
The full list of commands for CLI can be obtained with `-h` or `-H`. The ratio can
be improved with commands from `-3` to `-16` but higher levels also have slower
compression. CLI includes in-memory compression benchmark module with compression
CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined
into `-b1e18i1`.
-
-#### The example of usage of static and dynamic ZSTD libraries with gcc/MinGW
+## The example of usage of static and dynamic ZSTD libraries with gcc/MinGW
Use `cd example` and `make` to build `fullbench-dll` and `fullbench-lib`.
`fullbench-dll` uses a dynamic ZSTD library from the `dll` directory.
`fullbench-lib` uses a static ZSTD library from the `lib` directory.
-
-#### Using ZSTD DLL with gcc/MinGW
+## Using ZSTD DLL with gcc/MinGW
The header files from `include\` and the dynamic library `dll\libzstd.dll`
are required to compile a project using gcc/MinGW.
The dynamic library has to be added to linking options.
It means that if a project that uses ZSTD consists of a single `test-dll.c`
file it should be linked with `dll\libzstd.dll`. For example:
-```
+
gcc $(CFLAGS) -Iinclude\ test-dll.c -o test-dll dll\libzstd.dll
-```
-The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.
+The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.
-#### The example of usage of static and dynamic ZSTD libraries with Visual C++
+## The example of usage of static and dynamic ZSTD libraries with Visual C++
Open `example\fullbench-dll.sln` to compile `fullbench-dll` that uses a
dynamic ZSTD library from the `dll` directory. The solution works with Visual C++
2010 or newer. When one will open the solution with Visual C++ newer than 2010
then the solution will upgraded to the current version.
-
-#### Using ZSTD DLL with Visual C++
+## Using ZSTD DLL with Visual C++
The header files from `include\` and the import library `dll\libzstd.lib`
are required to compile a project using Visual C++.