diff options
| author | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-04-15 19:47:16 +0000 | 
|---|---|---|
| committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2017-04-15 19:47:16 +0000 | 
| commit | a19eddc34b6e8db043dbf6180c90e9bbe531dc03 (patch) | |
| tree | c1a7236f0695eb15e345486c8c85a1889b661ce8 /lib/dll/example/README.md | |
Notes
Diffstat (limited to 'lib/dll/example/README.md')
| -rw-r--r-- | lib/dll/example/README.md | 69 | 
1 files changed, 69 insertions, 0 deletions
diff --git a/lib/dll/example/README.md b/lib/dll/example/README.md new file mode 100644 index 000000000000..957a29f3560f --- /dev/null +++ b/lib/dll/example/README.md @@ -0,0 +1,69 @@ +ZSTD Windows binary package +==================================== + +#### The package contents + +- `zstd.exe`                  : Command Line Utility, supporting gzip-like arguments +- `dll\libzstd.dll`           : The DLL of ZSTD library +- `dll\libzstd.lib`           : The import library of ZSTD library for Visual C++ +- `example\`                  : The example of usage of ZSTD library +- `include\`                  : Header files required with ZSTD library +- `static\libzstd_static.lib` : The static ZSTD library + + +#### 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 +levels starting from `-b` and ending with `-e` with iteration time of `-i` seconds. +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 + +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 + +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 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++ + +The header files from `include\` and the import library `dll\libzstd.lib` +are required to compile a project using Visual C++. + +1. The path to header files should be added to `Additional Include Directories` that can +   be found in project properties `C/C++` then `General`. +2. The import library has to be added to `Additional Dependencies` that can +   be found in project properties `Linker` then `Input`. +   If one will provide only the name `libzstd.lib` without a full path to the library +   the directory has to be added to `Linker\General\Additional Library Directories`. + +The compiled executable will require ZSTD DLL which is available at `dll\libzstd.dll`.  | 
