Programming Tips - Old - What libraries do you use?

Date: 2004Dec3 Updated: 2010jan21 Warning: This page isn't so current any more Q. What libraries do you use? A. 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 - boost.org 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 - http://apr.apache.org/ 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 - http://www.mozilla.org/projects/nspr/ 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) - http://www.libsdl.org/index.php 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."" --- More... http://www.thefreecountry.com/sourcecode/cpp.shtml