47 C and C++ Resources and Libraries

Top 47 Online Resources and Libraries to Learn and Improve C and C++


1.   www.cplusplus.com
Cplusplus.com is the most authentic leading online resource comprising of complete documentation on C and its standard libraries. It has many sections including the tutorials, library references and forum.You can searchfor any keyword or function in these sections. Cpusplus.com community is quite vast with thousands of questions and queries answered by the experts and hundreds of snippets of code uploaded.

2.   www.msdn.microsoft.com
Msdn stands for Microsoft Developers Network. It is the library of official documentation for those people who develop programs on Microsoft Windows. It is one of the most accurate sources of information on C Language as supported by the Microsoft Visual Studio. A brief Description about each construct and the concept of C is written along with a sample piece of code in the Library section of the site. If you are working in Visual Studio, it could also be accessed by hovering the cursor over a specific keyword and pressing F1 button which opens up the page about that specific keyword.

3.   www.ibm.com
It is yet another quite good source of learning the basic structure of the language and its use. It includes the programming guide as well as the compiler references.

4.   www.cppreference.com
Cppreference is a public wiki for checking the functionality online casino and usability of a language construct or library functions. Its documentation is available in 12 different languages. Care has to be taken though as the content there could be uploaded and edited by anyone.

5.   www.thenewboston.org
ThenewBoston.org is one of the best available websites on the Internet for learning new things related to Programming. It has a vast array of languages to teach you in a very unique and interesting way. The tutor Bucky Roberts who teaches more or less 18 different languages is a young guy who has started this project as a non-profit enterprise. Bucky teaches in a very light mood, cracking jokes occasionally. About 100 video tutorials are present on C and C .

6.   www.learncpp.com
Learncpp.com contains textual tutorials spanning over many chapters. They are easy to learn and understand by a beginner very well. After every lesson, there is a provision for comments from users which get answered by the instructor very soon. The site is not complete as yet and new stuff is still being uploaded.

7.   www.cpptutor.com
Cpptutor is a good site from learning point of view. It contains all the basic information you need to learn C but the structure of the site is very plain and text-based. The coded portion is also written like simple text format which makes it somewhat difficult to be understood.

8.   www.cprogramming.com
Cprogramming is a vast website which enfolds the tutorials of C and Java.  Apart from their tutorials, they have some advanced stuff with them relating to the Data Structures, AI and Graphics Libraries. Source codes of a few games and applications also is available on their site , apart from their programming challenges and quizzes.

9.   www.stackoverflow.com
Stackoverflow is not a tutorial website. It consists of threads and forums for the registered users to post their codes and related queries. It has numerous tags, each for a programming language and C is among one of them. Each tag is a vast territory in itself consisting of thousands of posts and comments on that particular language. Experts at stackoverflow answer the queries in a very good and satisfactory manner.

10.   www.daniweb.com
DaniWeb is a very useful site similar to stackoverflow.com but its network and scope is extremely wide, ranging from Hardware Devices and Software Development to Internet Marketing. C forums are in thousands and accurate information could be obtained regarding common difficulties and errors in basic and advanced programming.

11.   ICU
International Components for Unicode is a portable set of IBM Unicode globalization libraries for C/C++ and Java. ICU includes support for locale sensitive string comparison; date, time, number, currency, and message formatting; character set conversion; and additional features. It is avaliable under the X license, which is apparently compatible with the GPL license, although not copyleft. See the website for more details.

12.   ImageLib: An Image Processing C++ Class Library
ImageLib is a C++ class library providing image processing and related facilities. The main set of classes provides a variety of image and vector types, with additional modules supporting scalar and vector quantisation, wavelet transforms, DCT transforms, and simple histogram operations.

13.   PNGwriter
Supports plotting and reading in the RGB (red, green, blue), HSV and CMYK colour spaces, basic shapes, scaling, bilinear interpolation, full TrueType antialiased and rotated text support, bezier curves, opening existing PNG images and more. Runs under Linux, Unix, Mac OS X and Windows. Requires libpng and optionally FreeType2 for the text support.

14.   CImg Library – C++ Template Image Processing Library
The CImg Library is a C++ toolkit providing simple classes and functions to load, save, process and display images in your own C++ code. It is highly portable and fully works on Unix/X11, Windows and MacOS X operating systems.

15.   Boost.org
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.

16.   EzBasic library
EzBasic is an application development framework to develop projects in C++. The framework can be used to make programs using functions similar to Visual Basic*. The framework classes range from GUI, File Handling, Threads, String, Active-X just to name some of the important classes. And the best part is that it is free to use in your non commercial projects.

17.   AxPipe – C++ Binary Stream Class Library
AxPipe – A binary stream abstraction C++ class framework for efficient implementation of both push and pull-model filters and all kinds of sources and sinks. Implementation-transparent optional multi-threading. Efficient reference-counted buffer handling.

18.   GQL – Generic SQL Library
This is the homepage af the GQL Project – just another attempt to create a generic SQL interface for Linux/UNIX platforms. The CLI (call level interface) library GQL, provides an abstraction of a SQL database, which means it is a general API for all (or most) possible SQL databases. It achieves this by using individual drivers for different databases. GQL is implemented in C++, so its native interface is C++ also.

19.   Database Template Library
"The goal of this library is to make ODBC recordsets look just like an STL container. What is more, we do this portably so the abstraction can run on multiple platforms and C++ compilers. As a user, you can move through our containers using standard STL iterators; and if you insert(), erase() or replace() records in our containers changes can be automatically migrated to the database for you."

20.   The freeodbc++ project
Libodbc++ is a c++ class library for accessing SQL databases. It is designed with standards in mind, so it provides a subset of the well-known JDBC 2.0(tm) and runs on top of ODBC. It is distributed under the LGPL. The library has shown to compile and work on Linux, FreeBSD and win32 platforms. Any environment with a reasonable compiler, standard c++ library and ODBC Driver Manager should do.

21.   FreeType 2 (free font library)
FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.

22.   GNU lightning
GNU lightning is a library that generates assembly language code at run-time; it is very fast, making it ideal for Just-In-Time compilers, and it abstracts over the target CPU.

23.   GradC++Toolbox
GradC++Toolbox is a joined package composed by several platform-independet components for command line parsing, debug and info messages starting and stopping of threads and so on.

24.   Matrix Template Library (MTL)
The Matrix Template Library (MTL) is a high-performance generic component library that provides comprehensive linear algebra functionality for a wide variety of matrix formats.

25.   A garbage collector for C and C++
The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would, without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. Alternatively, the garbage collector may be used as a leak detector for C or C++ programs, though that is not its primary goal.

26.   Graph Template Library GTL
GTL, the Graph Template Library GTL can be seen as an extension of the Standard Template Library STL to graphs and fundamental graph algorithms.

27.   Matrix TCL Pro
Matrix TCL Pro is a matrix template class library for performing matrix algebra calculations in C++ programs in easy and efficient manner for engineering / scientific works.

28.   The Standard Function Library
The SFL (Standard Function Library) from iMatix is a portable function library for C/C++ programs. The SFL is the result of many years development, and is provided as Open Source software for the benefit of the Internet community.

29.   ClanLib
ClanLib is a medium level development kit. At its lowest level, it provides a platform independent (as much as that is possible in C++) way of dealing with display, sound, input, networking, files, threadding and such.

30.   GNet
GNet is a simple network library. It is written in C, object-oriented, and built upon GLib. It is intended to be small, fast, easy-to-use, and easy to port.

31.   MyLibC
MyLibC is a glibc clone for windows.

32.   ebase – embedded C++ database library
"A portable, lightweight, and flexible C++ library that provides reliable persistent storage. It is well suited for embedded systems, personal digital appliances and small-scale database need on web."

33.   IO95, a Win95 LFN API wrapper library
This library contains functions to access the LFN API Win95 offers in the DOSbox, it can help to make a program LFN-aware quicklier.

34.   CGAL
The goal of CGAL is to make the most important of the solutions and methods developed in computational geometry available to users in industry and academia in a C++ library.

35.   http://www.datareel.com/
“DataReel is a collection of C/C++ libraries used to rapidly develop and deploy multi-threaded database and communications applications.”

36.   TidyLib
A library form of HTML Tidy (C) has been created to make it easier to incorporate Tidy into other software.

37.   omniORB
omniORB is a robust high performance CORBA ORB for C++ and Python.

38.   uClibc
uClibc is a C library for developing embedded Linux systems.

39.   GetPot
Parsing comand line arguments and configuration files.

40.   ncurses 5.2
The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-c

41.   GSL – The GNU Scientific Library
The GNU Scientific Library (GSL) is a modern numerical library for C and C++ programmers. The routines have been written from scratch by the GSL team in ANSI C.

42.   libsmi
The core of the libsmi distribution is a library that allows management applications to access SMI MIB module definitions.

43.   SparseLib++
SparseLib++ is a C++ class library for efficient sparse matrix computations across various computational platforms.

44.   Introduction to the Standard Template Library
Programmer’s guide and download link for the STL.

45.   Views – a C++ Standard Template Library extension
The C++ Standard Template Library provides templates that define generic container and iterator classes. The software extends the STL by adding template classes that define views.

46.   Ensemble
Ensemble is the next generation of the Horus group communication toolkit. Developed at Cornell University, as well as at the Hebrew University of Jerusalem.

47.   IML++ (Iterative Methods Library) v. 1.2a
IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations.


Leave a Comment: