Libraries This page was last updated 11th June 2016

Useful Libraries for coders.





(383k zip) The code for this GdiPlusLib was originally modified from the Microsoft GdiPlus C++ headers by Mike Caetano in 2003 - the original overall structure was maintained by Mike, meaning only header files were used which contained all the code as well as declarations, defines etc. Mike also used LCC-Win32's overloading extension to mimic the C++ overloading of function names. However the task was never completed.

The newest modification throughout is a C approach apart from the PellesC extension of allowing a default parameter in a function definition.

Author: JohnF




(20k zip) LibCTiny enables one to create very small DLL's and EXE's. Add these two lines at the top of your code where DllMain(), main() or WinMain() is.

#pragma nodefaultlib
#pragma comment(lib, "libctiny.lib");

Read about this library here





(11k) TMalloc version 2.0 (14th July 2003) - it checks for not free-ed malloc blocks, bad pointers passed to free and has been extended to check for out-of-bounds copying when using various string functions.

The tmalloc library is intended as a check whilst developing.

malloc calloc realloc free strcpy strcat strncat strncpy memcpy memmove wcscpy wcscat wcsncpy wcsncat wcstombs sprintf snprintf

Bug fix (5th November 2005) tsnprintf did not calculate the offset correctly.






(37k) Error-X is an enhanced error reporting mechanism for Pelles-C. This project may not be portable as it uses Pelles-C specific extensions for structured exception handling.

Author L.D.Blake

MAPM Bignum Library




(238k) Test app and library included in Timovjl supplied the test app and the library files which are included in the zip. Some docs have been added.

Link to MAPM bignum library

Author Michael C. Ring






(461k) Various Libs

Author L. D. Blake








These macros operate on the filename. If path or drive information is present the result is
undefined and could result in data loss.
 A Filename is in 2 parts. A Name and an Extension.
The Extension begins with the last dot in the filename. The Extension is never edited.

Editing pointers are maintained for the Old name and New name. Macros operate left to right as
encountered using the current pointers for the New and Old names.

Transformations operate on the old name in-place and do not advance the editing pointers.
Editing pointers are advanced as the old name is copied to the new name by the various
editing macros.

Free text in the wildcard is copied to the new filename and the New name pointer is updated.

Transformations:  (Old name)
    *A          Remove all whitespace
    *B          Burst Pretty Path
    *C          Convert to ALL CAPITALS
    *D          Spaces to dashes
    *L          Convert to lower case
    *M          Punctuation marks to spaces
    *P          Convert to PrettyPath
    *S          Convert to Sentence case
    *T          Convert to Title Case
    *U          Spaces to underscores
    *W          Remove excess whitespace

Editing: (New name)
    ?A          Insert user account name
    ?Cc         Copy to character
    ?D          Insert today's date as YYYY-MM-DD
    ?E          Copy the extension
    ?F          Copy rest of filename
    ?H          Insert Host computer name
    ?I          Copy next character
    ?J          Jump over next word
    ?L          Copy next character as lower case
    ?N          Copy rest of filename, add extension
    ?O          Omit next character
    ?Sc         Skip to character
    ?T          Insert current time as HH-MM-SS
    ?U          Copy next character as upper case
    ?W          Copy next word

Author: L.D. Blake

Back to main page