if you need a serial communications package, check out the SVAsync library.
another package for serial communications, called BCSERIO, was
written by Bill Currie. BCSERIO
is available from Bill's home page.
Peter Marinov has written pmcom, a serial
communications library for DJGPP; it is available from DJGPP sites.
if you need serial communications from programs that use the Allegro
library, try DZComm, which is available from the v2tk/allegro
directory on the usual DJGPP sites. You can also download DZComm from
GeoCities via the Web.
for system hardware and diagnostics software, check out the
SYSINFO package.
Network support libraries:
for TCP/IP, check out the WATTCP library, which is available from the DJGPP Web site, or
from a Europe mirror,
it provides the TCP/IP sockets interface. (I am told that you can
safely ignore the warnings you get when compiling the package.)
a Winsock library called libsocket is available, originally
developed by Indrek Mandre, currently
maintained by R. Dawe. The latest version
(0.8.0, as of this writing) is available from the libsocket home page, and
via FTP from
the DJGPP archives. The latest versions support both Winsock and the
newer Winsock2 VxD which is part of Windows 98. Many useful links to
related packages and info is available from Rich Dawe's home page.
code to access the NetBIOS API with DJGPP is available from
A. Sinan Unur's page.
Dynamically loaded code:
Check out the DLM (Dynamic Link Modules) environment for DJGPP, written
by Ilya Ryzhenkov, available from the
DLM home page. This package makes it
very easy to use dynamically loaded code, since it has almost no impact
on how you write your code, and supports all common C++ features,
like inheritance, virtual functions, etc.
the Xlibemu library includes
Xt and Xmu toolkits, a 3D version of the AW toolkit,
a few demo applications (e.g. xmine), and can be used to compile
Tcl/Tk and GNU Emacs with X support. Xlibemu is based on
X11R5 and was originally developed by Antonio Costa for DJGPP v1.x. It is also available on an alternative site and on the DJGPP server.
A port of GMP, the GNU Multiple-Precision math library, is
available via FTP.
GUI libraries:
SWORD (an acronym for System With Objects for Rapid Development) is
a set of C++ classes that provide the developer with a portable
development environment. SWORD classes cover subject such as
building graphical user interface, date/time, files, network (socket
client and server), strings, random numbers, vectors and matrices.
SWORD was written and maintained by Eric Nicolas and the Sword Group. The latest version
3.0beta06.1 is available from the SWORD download site. An older
version 2.10 is available together with DJGPP, in the v2tk directory as sw21_*.zip.
SWORD is a powerful system for dedicated programmers, specifically
designed to allow a programmer to learn GUI programming. However, I'm
told that its documentation might not be clear enough for beginners;
documentation for version 3.0 is being worked on.
Another port of TVision was done by Robert Hoehne. Due to copyright problems, that port cannot be
distributed (at Borland's request, Robert has removed it from his Web
page). So you will have to get the Turbo Vision sources from the
Borland's site,
patch them using patches included in the RHIDE distribution, and rebuild
it yourself.
MGUI is a cross-platform C/C++ GUI library for DOS, Windows 3.X
and 9X/NT, and Unix X Window environments. The DJGPP version is based
on GRX. MGUI is available fromSimTel.NET mirrors.
Also try Jlib written by
J P Griffiths. This library is best
suited to multi-platform game programming, since it's portable to
Linux, MSVC, Watcom, and X11. Visit the Jlib Web page, for the latest
developments.
Another popular library for game development is MGL, the
MegaGraphics Library by SciTech Software. MGL provides
transparent support for DirectX, OpenGL, Mesa, and several other popular
graphics standards (although some of these standards reportedly only
work when used with RSXNTDJ). The latest version 4.1 has full DJGPP
support. MGL is available from SciTech's FTP site.
Yet another package that supports DirectX 5 for DJGPP and RSXNTDJ is
available via the Web.
FreeBE/AF is a free implementation of the VBE/AF graphics driver
API, which provides high performance 2D hardware acceleration for
packages such as Allegro and SciTech MGL; it is available from SimTel.
Matthew Bentley has written a C++ VGA
graphics library for mode 13h (and is reportedly 4 times faster than
Allegro in this mode) called EZVGA. It is available as ezvga14.zip from
the v2tk directory on DJGPP sites.
Multi-tasking libraries and OS kernels:
Pthreads, a Posix threads
library, is a portable, standard package supported on many platforms.
The LWP package is a lightweight preemptive multitasking library written
by Josh Turpen for DJGPP. It has an
extremely simple API and is very fast. You can get LWP via the Web.
PDMLWP is a multithreading package for DJGPP. It is available as
pdmlwpNN.zip (NN is a version number) from the v2tk
directory on the DJGPP sites.
MSS is a package for detecting problems with dynamic memory allocation,
such as using uninitialized memory, overwriting the limits of allocated
blocks, memory leaks, repeated deallocations, etc. It is available
from the DJGPP sites, and supports both C
and C++ programs. MSS was written and is maintained by Peter Palotas.
Another package for debugging memory-related problems is
FORTIFY.
Cdecl is a program for translating hairy C and C++ declarations and
type casts into human-readable English. A DJGPP port by Nate Eldredge
is available via FTP.
LCLINT is a Lint clone. Lint is a program which analyses C source
files, identifies unsafe or potentially buggy code and prints
error/warning messages about each such case. gcc -Wall can
identify many such cases as well, due to the superior diagnostics of
GCC, but for those who still want Lint, you can find LCLint sources on the Web.
VIM is a programmer's editor, mostly popular in the Unix world. It
features syntax highlighting for more than 60 different file formats,
context-sensitive help, and a macro language for writing extensions.
The sources are available via ftp, and should compile with DJGPP.
Binaries are available for Windows 9X and NT, as well as for DOS.
SeeR is a scripting engine to use in extensible programs. It
features basic C and C++ operators and data types, access to C and
C++ functions and classes, support for multitasking, ability to run
several scripts at the same time, etc. SeeR was written by
Przemyslaw Arkadiusz Podsiadly, and is
available from his Web page.
Nate Eldredge wrote a library of farptr
versions of most of the mem*/str* library functions. You can get this
library from Nate's home page.
Berkeley Yacc, byacc, and bzip2 compressor/decompressor,
both ported by Juan Manuel Guerrero, are available from the
v2apps directory on the DJGPP sites.
Interface with Windows:
libwin is a library of functions that allow DJGPP programs to
interface with some Windows services. This includes clipboard and
registry access, control of the DOS box and virtual machine titles, and
interface with Windows Virtual Devices, VxDs in short. The
library can be downloaded via the Web.
libmslot is a library of functions for using the Windows LAN
Manager Mailslot API, which is a unidirectional form of Interprocess
Communication (IPC) facility. It was written by Richard Dawe, and is available from his home page.
LibINI is a library for manipulating Windows style .INI
configuration files. You can find it in the programming section of
<http://stealthtech.tsx.org>.
Please take a moment to fill out
this visitor survey You can help support this site by
visiting the advertisers that sponsor it! (only once each, though)