Browse - Programming Tips - What libraries do you use?

Date: 2004Dec3
Updated: 2010jan21
Warning: This page isn't so current any more

Q.  What libraries do you use?


C/C++ Libraries

C/C++ are terrific languages but there are too close to the
metal for some applications.  Other programming languages
(eg Java) come with extensive libraries but C/C++ doesn't.
One idea is to use some of the really nice C/C++ libraries.

All these libraries are cross platform and the license
lets you include with your commercial code.


Boost -
License: Boost Software License (Must not require that the source code be
available for execution or other binary uses of the library.)

"The Boost web site provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries which work well with the C++ Standard Library.
The libraries are intended to be widely useful, and are in regular use by
thousands of programmers across a broad spectrum of applications."


Apache Portable Runtime	-
License: Apache License

"The mission of the Apache Portable Runtime (APR) project is to create and
maintain software libraries that provide a predictable and consistent
interface to underlying platform-specific implementations. The primary goal is
to provide an API to which software developers may code and be assured of
predictable if not identical behaviour regardless of the platform on which
their software is built, relieving them of the need to code special-case
conditions to work around or take advantage of platform-specific deficiencies
or features"


Netscape Portable Runtime -
License: Mozilla Public License

"Netscape Portable Runtime (NSPR) provides a platform-neutral API for system
level and libc like functions. The API is used in the Mozilla client, many of
Netscape/AOL/iPlanet's and other software offerings."


Simple DirectMedia Layer (SDL) -
License: Lesser GPL (ie OK for commercial apps to link)

"Simple DirectMedia Layer is a cross-platform multimedia library designed to
provide low level access to audio, keyboard, mouse, joystick, 3D hardware via
OpenGL, and 2D video framebuffer. It is used by MPEG playback software,
emulators, and many popular games, including the award winning Linux port of
"Civilization: Call To Power.""