zstd.exe : Command Line Utility, supporting gzip-like argumentsdll\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 libraryinclude\ : Header files required by the ZSTD librarystatic\libzstd_static.lib : The static ZSTD library (LIB)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.
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.
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.
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.
The header files from include\ and the import library dll\libzstd.lib are required to compile a project using Visual C++.
Additional Include Directories that can be found in project properties C/C++ then General.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.