LIBDF: Introduction

Library LIBDF is designed to solve a problem which can be briefly described as "binary files updating/patching".


If you are familiar with such standard utilities of the UNIX system as diff and patch then we could say that functionality of DF SDK can accomplish the same task though there is a significant difference: DF SDK effectively operates not only with text but with all binary files.


However if diff or patch sound nothing to you, let's describe what can be implemented using LIBDF by the following example:

Assume that you have some file which is being changed in the course of time. It can be an executable file of your program, or any other file independent on its format and content (except archive formats which will be described later). Let's assume that you have two version of one of those files which we can call old file and new file. Using functions of LIBDF library we can implement comparing of a new versus old file, find differences between them and save the data describing these differences in a special difference file - df-file. Later on using other functions of LIBDF library we can reconstruct a new file having only an old file and df-file.


In case of a slight difference between an old file and a new one (i.e. there are few changes brought into a new file in comparison with an old one) and the size of the result df-file is much smaller then that of a new file then LIBDF can appear to be an effective tool to solve the following problems:

Software updating/patching to ensure your end-users always have the latest version of your software product;
Differential backup to store your backups in a reliable yet space-saving way;
Version control for reliable yet efficient control under versions of your files (of any type).


Converted from CHM to HTML with chm2web Standard 2.75 (unicode)