libutils
Yet another library of C utilities.
2005-03-15 Download version 1.0 (libutils-1.0.tar.gz)
User Manual
Detailed Documentation
March 15, 2005
There are many different C libraries encompassing the same type of
"utility" functions. This library is yet another version. It has been
useful for me as I have accumulated scraps of useful code and it works
(generally) under Solaris, Linux and Windows. Some ideas are borrowed
from perl-isms and some from java. The library covers such areas as
in-place macros for file opens with appropriate warnings; consistent
logging output macros; and various text-processing options. A word of
warning: it only works in the GNU environment (gcc, etc.). The software
is released under the GNU General Public License.
The primary purpose of releasing this code and documenting it is for my
own benefit, however others may find it useful. If you do, I'd be happy
to hear about it. However, the software is absolutely as-is and
designed for my own purposes. As such, I am unlikely to be overly
helpful - the source is the ultimate authority and could be modified or
simply thrown away.
Background
This library of routines was initially developed when I was in graduate
school to help with constructing some machine learning software. The
initial goal had been to create a series of macros within a header
file, thus making it extremely easy and flexible to use. Most of the
output functions and "safe" operations were developed at that point,
using as inspiration the rather remarkable GNU info on cpp and gcc (if
you haven't dug into the depths of those documents, I highly recommend
it).
As all things do, the software began to get rather complex for using
only macros. Therefore I wrote additional functionality and included it
in a library (e.g. libutils). It has continue to grow and develop in
unorganized ways as I have needed it. Most recently I have extracted
out logging facilities into a different library (libtxtlog or libwxlog)
so that both text-based logging and wxWidgets based logging can be used.