dktools-4  4.11.4
Dirk Krause's libraries.

The dklib project consists of a set of libraries.The Changes since version 3. page lists the changes from 3.x.x to 4.x.x.

Before going into the details I recommend to read the Conceptions page.

The following libraries are available:


The libdk4base library contains basic functionality, i.e. for the following purposes:

Mathematical library

The libdk4ma library contains arithmetic operations on integers of different bit width and comparison operations. The arithmetic operations check for overflow and prevent divisions by zero. The comparison operations can compare signed and unsigned integers properly.

Number I/O libraries

These libraries convert integer and double numbers to text and vice versa. Data types char, wchar_t and dkChar are supported, use either decimal or hexadecimal notation.

Character type Notation Library
char decimal libdk4maio8d
char hexadecimal libdk4maio8h
wchar_t decimal libdk4maiowd
wchar_t hexadecimal libdk4maiowh
dkChar decimal libdk4maiodd
dkChar hexadecimal libdk4maiodh


The libdk4c library contains modules for various purposes, including:


The libdk4dbi library provides a generic interface to Berkeley DB, NDBM and in-memory databases and allows to store text in these databases.


The libdk4mdrnd library generates message digests and random numbers.


The libdk4sock library contains functions for socket operations both for networking and local UNIX domain sockets.


The libdk4app library provides some equivalents for libdk4c functions with included localized diagnostics and other application support.


The libdk4lat library contains code to find LaTeX representations for 32 bit characters.


The libdk4dbia provides some equivalents for libdk4dbi functions with included localized diagnostics.


The libdk4socka library provides some equivalents for libdk4sock functions with included localized diagnostics.


The libdk4wx library provides helper classes to build wxWidgets base GUI applications.