Libraries This page was last updated 5th November 2005


(8.84k) Ledlib contains routines to draw L.E.D. bars horizontally and vertically, and in different colours.

Author: Jep

Rand Library

(8.12k) A pseudo-random number generator library. Includes real, long integer and seed-ing routines.

Author: Takuji Nishimura

(3.5k) Useful set of routines. Here's a selection - space(int); ucase(char *); lcase(char *); mid(char *,int,int = 1000000); left(char *,int); right (char *,int); string(int,int); cls(void); color(int,int);

Author: Kenneth Lantrip


(144k) BigNumLib. Adapted to windows and the LCC-Win32 system by Jacob Navia. This big num library is specialized for cryptographic applications. Jacob said: "I have downloaded it from the net, adapted it to LCC-Win32, wrote a help file out of the documentation, and compiled it without big problems. Please see docs for more information."

Author: Colin Plump


(101k) jlib.lib contains various libraries.


HTML docs and example listings are supplied.

Author: John Findlay

(238k) wlib.lib contains routines for the ListBoxEx control, ButtonEx control, and a PictureBox control. The ListBoxEx control features are more extensive than the normal Windows ListBox control.
See HTML docs for details.

Fixed a resource leak in ButtonEx. 12th Sep 2003

Added 28th April 2004 BXM_CLEARIMAGE - use this if you want to set a new image or images for a button that has either a bitmap or an icon.

SendMessage(h, BXM_CLEARIMAGE, IMAGE_ICON, 0); // clears previous image/images
SendMessage(h, BXM_SETIMAGE, IMAGE_ICON, (long)hIco ); // sets new image
InvalidateRect(h, NULL, TRUE); // make the change immediate.

Author: John Findlay


(16.8k) StrSafe a library of safe string functions produced by Microsoft.

Author: MS


(57k) PrinterDLL contains approx 200 printer related functions - should make life easier. The zip file contains an RTF explaining the functions. Strangely, Mr. White does not format his code but fortunately WEdit's 'Reformat' feature will do it for you.

Author: John White

(4k) A small string library as an example of using a virtual function table and creating the object with method-like calls.


Normally one would need to call a virtual function using the lpVtbl-> syntax and pass the object as the first parameter.

str->lpVtbl->StrCatc(str, "Hello");

Author: John Findlay

(337k) I thought it would be handy to have the garbage collector that lcc-win32 uses as a static library, the garbage collector of Hans-J. Boehm and Alan J. Demers. 

I have extracted only essential files from the original package to compile with lcc-win32, you can download the original package from here.

The static library is called gclib.lib to distinguish it from the library that is distributed with lcc-win32 that needs the gc.dll. A small test listing is supplied, put the gclib.lib in LCCROOT/lib and link the test listing to gclib.lib. 

Please read the README_QUICK.txt file for copyright notices.

All the original docs can be found in the original package so please download that if you are interested.

Add #define SILENT at the top of gclib.h to disable the output log file.

As the library is built as a static library it does not supports multiple threads, for that use the gc.dll distributed with lcc-win32.

Contributed by John Findlay

(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

Small error in tcalloc was fixed. (18th July 2003)

Bug in tcalloc, fixed. (27th Dec 2003)

Bug (16th July 2004) tmemcpy and tmemmove did not deal with all cases

Bug (30th March 2005) tmemcpy and tmemmove used pNodeDest in the last case of calling BoundsError(), should be pNodeSrc.

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

Author: John Findlay


(13k) Evaluate.lib is a library created for parsing and evaluating expressions using order of operations. It can do +, -, *, /, and ^ as well as any order of parenthesis and brackets. The zip includes instructions, the project and library, and a test example with source code.

Author: Sean O'Rourke


(41k) Demo to use the Parsifal Expressions parser. evaluateExpression is a convenient utility for parsing and evaluating arithmetic expressions at runtime. You can use it, for example, to evaluate expressions read from data files or configuration files or expressions entered directly by users. See the readme.

Contributed by Davide U.


(760k) XLISP is a wide subset of LISP, a language used for artificial intelligence. XLISP-PLUS is written by Thomas Almy and it is an enhanced version of David Michael Betz's Xlisp to have many more features of COMMON LISP. It's small and very easy to use if you wish to learn the Lisp.

Contributed by Davide U.


(14k) time_gs has own versions of gmtime(), localtime() and mktime() because of problems encountered with dates on which daylight saving time
starts and ends.

Author: Gerhard Schiller.


(7k) Gregor is a little Ansi-C-library dealing with the Gregorian Calender. It is capable of "date-math" and different conversions and comparisons within the date-range from 1582-Oct-15 to 4046-Nov-25.

Author: Heinz van Saanen


(21k) With the SAPI interface you'll be able simply to write your applications using the com port. The standard Windows API to communicate via a serial interface are collected here in a straight manner, for common use.

Author: Andreas Martin

Back to main page