http://en.wikipedia.org/wiki/Comp.*_hierarchy
Internet sites and files of interest to C++ users
10 June 2010
I have tried to assemble a list on interesting files and sites on the
internet that are relevant to C++ users - especially those with
interests in numerical methods. Generally, these are sites and files I
have seen mentioned on comp.lang.c++, comp.lang.c++.moderated or
comp.std.c++. My selection is pretty random and certainly doesn't
cover everything. In particular, I haven't tried to include everything
already included in other people's lists of libraries. I don't check
these sites for accuracy or usefulness - if I come across a site that
looks as though it is about C++ and I am able to understand it enough
to classify it, it will normally go into the list. So reader beware.
"Inclusion of a site is not an endorsement and lack of inclusion is
not a criticism."
For recent entries search for ###.
It is becoming less and less possible to do justice to the vast amount of
material out there and I have given up trying to update the links so don't
forget the search engines:
Comments, corrections, additions and subtractions to robert at statsresearch.co.nz
Replace at by you-know-what.
For the rest of my web site go to
I'll put this document on
http://www.robertnz.net/cpp_site.html
Files with suffixes .Z, .gz, .zip need to be uncompressed. Msdos
uncompressors can be found under compression or archivers in the
msdos program archives. Use uncompress or gzip -d on unix machines
to uncompress .Z or .gz files. Compressed files should be downloaded
in binary mode; text files in ascii mode.
Bjarne Stroustrup's FAQ
http://www.research.att.com/~bs/bs_faq.html
Marshall Cline's C++ FAQ list:
(see this site for other download sites and other languages)
http://www.parashift.com/c++-faq-lite/
Joe Buck's G++ (Gnu C++) FAQ list - rather old:
(look in this to see where to find G++ compiler files)
ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/g++-FAQ/plain
Visual C++/MFC FAQ list - not here anymore
Watcom C++ FAQ
http://www.azillionmonkeys.com/qed/watfaq.txt
http://www.azillionmonkeys.com/qed/watfaq.shtml
Vinit Carpenter's list of C and C++ tutorials (really old)
ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/C-faq/learn-c-cpp-today
C++ standardisation and comp.std.c++
http://www.research.att.com/~austern/csc/faq.html
Steve Summit's C FAQ list:
http://www.eskimo.com/~scs/C-faq/top.html
Numerical analysis FAQ list
http://www.mathcom.com/corpdir/techinfo.mdir/index.html
Ross McKay and Wade Guthrie's FAQ list on "Platform Independent GUIs"
http://www.zeta.org.au/~rosko/pigui.htm
comp.object FAQ
http://www.cyberdyne-object-sys.com/oofaq2
alt.comp.lang.learn.c-c++ FAQ list
http://www.faqs.org/faqs/C-faq/learn/
Object orientation
http://www.avalon.net/~wbachman/OOFAQ/oo-faq-toc.html
See "FAQs" above; see also "C++ resources", "consulting services",
"everything sites" and "Websites for authors of C++ books and
articles" below.
### June
The C++ language from its basics up to the newest features of ANSI-C++,
including basic concepts such as arrays or classes and advanced
concepts such as polymorphism or templates.
### June
A web site designed to help you learn the C or C++ programming
languages, and provide you with C and C++ programming language
resources.
Tutorials about C++
C++ Annotations (moving from C to C++)
http://www.icce.rug.nl/documents/cplusplus/
DevCentral tutorials for C and C++
http://devcentral.iftech.com/learning/tutorials/
C++ tutorials for Windows 32, how to do without MFC, getting the compiler
to do the hard work of avoiding memory leaks, games, frequency analysis etc
Coronado enterprises tutorials (formerly Gordon Dodrill's)
You can see sample chapters, but are charged for the full tutorials
http://www.coronadoenterprises.com/
Guru of the week - ie discussion papers on using C++
http://www.cntc.com/resources/gotw.html
Tutorials etc on Borland's CBuilder
http://www.richplum.co.uk/cbuilder/
Tutorial on the STL by Phil Ottewell.
http://www.yrl.co.uk/~phil/stl/stl.htmlx
http://www.pottsoft.com/home/stl/stl.htmlx
He has also got a tutorial on C for Fortran users
http://www.pottsoft.com/home/c_course/course.html
Notes for a university lecture course, but
maybe there is enough here for independent study.
Note on pointers - perhaps more oriented towards C than C++.
http://www.cudenver.edu/~tgibson/tutorial/
Very simple C under DOS or MS-windows. Not much C++;
possibly useful to someone interested in programming
MS-windows without MFC etc.
http://www.cpp-programming.com
Weekly newsletter on C++ and other things: aimed at helping new
and intermediate programmers improve their coding skills.
http://www.cyberelectric.net.au/~collins
www.informit.com - a site run by Macmillan USA containing a lot
of information including the several well-known C++ books for
free download - if you are prepared to supply name and email address
C++ in 21 days - 2nd edition
A variety of C++ books on line (Macmillian, Sams, Wiley, IDG etc)
You can see the tables of contents, but you will have to have a
subscription to read the books themselves after a free trial.
http://www.itknowledge.com/reference/dir.programminglanguages.c1.html
Elementary introduction to C++ (mostly the C subset)
http://clio.mit.csu.edu.au/TTT/
How to use function-pointers in C and C++, callbacks, functors
http://www.function-pointer.org
http://www.newty.de/fpt/fpt.html
Short C++ tutorial, aimed at people who already have
experience with an object-oriented programming language
http://www.entish.org/realquickcpp/
Articles about Win32, C++, MFC articles using VC++ compiler.
Google web directory
http://directory.google.com/Top/Computers/Programming/Languages/C%2B%2B/
### September
An A-Plus C++ Resources Directory
http://www.aplus.net/docs/facts/an-a-plus-c++-resources-directory.htm
University of Cambridge Department of Engineering
http://www-h.eng.cam.ac.uk/help/tpl/languages/C++.html
Object-Oriented Numerics Web Site
German scientific computing (in English)
http://scicomp.math.uni-augsburg.de/~scicomp/
World-wide-web "C++ Virtual Library"
http://www.desy.de/user/projects/C++.html
Karim Ratib's list of C++ sites (Scientific computing,
graphs, GUIs etc)
http://www.IRO.UMontreal.CA/~ratib/code/
Phil Austin's list of oo sites for scientific computing
http://www.geog.ubc.ca/~phil/oo
Manfred Schneider's list of sites (CETUS links)
http://www.objenv.com/cetus/software.html
http://www.rhein-neckar.de/~cetus/software.html
Site list from Forschungszentrum Juelich
http://www.fz-juelich.de/zam/cxx/extern.html
C++ and C SIG (New York)
This file
http://www.robertnz.com/cpp_site.html
"Connected Object Solutions" list
http://www.connobj.com/refserv.htm
Warren Young's list - especially STL
http://www.cyberport.com/~tangent/programming/index.html
Andy Tai's list of gui interfaces
http://www.geocities.com/SiliconValley/Vista/7184/guitool.html
Joerg Arndt's list of C & C++ code -
particularly numerical things & FFT
Bowden Wise's page
http://www.cs.rpi.edu/~wiseb/c++-notes.html
Peter Baeumle's page (in German)
http://www.bg.bib.de/baeumle/oop/cpp/
Robert Mudge's page and shareware metrics tool
http://www.tqnet.com/m2tech/se.htm
Bernd Mohr's site list
http://www.kfa-juelich.de/zam/cxx/extern.html
Simo Salminen's site list
http://www.utu.fi:80/~sisasa/oasis/index.html
Brad Appleton's site list
http://www.enteract.com/~bradapp/links/cplusplus-links.html
Comeau Computing's site
Site list, book recommendations
http://www.comeaucomputing.com
Decision Tree for Optimization Software
(mostly in F* but some C++)
http://plato.la.asu.edu/guide.html
Garbage collection links (some C++)
http://www.cs.rpi.edu/~gorik/garbage/
Borland CBuilder sites
http://members.aol.com/zbuilder/resource.htm
C++ links including notes on online tutorials
J. Shiva's site (links, book recommendations etc)
DJGPP web ring
http://www.geocities.com/SiliconValley/Vista/6552/djring.html
Alan Clarke's site list and tips of the day
http://cpptips.hyperformix.com/
Open directory project
http://dmoz.org/Computers/Software/Object_Oriented/
Borland Builder programmers web ring
http://C.webring.com/hub?sid=&ring=cbuilder&id=&list
Jonathan's Working with C++Builder Page
http://www.buddydog.org/C++Builder/c++builder.html
Open Watcom links etc
Free software sites
Borland builder development
An STL Error Decryptor to decode those "cryptic" STL error messages
Works with Visual, Gnu, Comeau, CodeWarrior C++
http://www.bdsoft.com/tools/stlfilt.html
C++ standards and documentation
(See also "Websites for authors of C++ books and articles" below where
there are a number of relevant sites)
ANSI/ISO C++ committee website
http://www.open-std.org/jtc1/sc22/wg21/
C++ Standard in pdf format - the real thing - costs $18 US
(It is called ISO/IEC 14882-1998)
http://webstore.ansi.org/ansidocstore/default.asp
Final ISO/IEC 9899:1999 update to the C language - costs $18 US
(Go to Electronic Standards Store on the ansi website)
Unofficial list of corrections to standard document
http://www.acceleratedcpp.com/authors/koenig/c++std/revisions.pdf
Draft C++ standard - ps and pdf formats
ftp://research.att.com/dist/c++std/WP/CD2
C++ Standards Committee papers
http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/
Updated appendix to ARM describing new features
ftp://ftp.std.com/books/AW/stroustrup2e/iso.ps
ftp://ftp.std.com/books/AW/stroustrup2e/newiso.ps
Review, errata, extracts from Stroustrup's
"The C++ programming language, 2nd ed."
http://www.research.att.com/~bs/2nd.html
Errata for Stroustrup's "The C++ programming language, 2nd ed."
ftp://ftp.std.com/books/AW/stroustrup2e/errata9
Ian Joyner's 1996 critique of C++ (3rd edition)
Quick reference to STL
http://www.blueneptune.com/~yotam/stl.html
Object oriented standard discussion
http://oonumerics.org/oon/oonstd/archive/
C9X draft standard (pdf and ascii)
http://www.dkuug.dk/JTC1/SC22/WG14/
Notes on smart pointers
http://www.cs.york.ac.uk/~mhw/c++ptr.html
Kevin S Van Horn C++/ STL components and articles
http://www.xmission.com/~ksvhsoft/
Extensions introduced by standard
http://nw.demon.co.uk/ocsltd/c++/
C++ standard issues list
http://www.dkuug.dk/jtc1/sc22/wg21/docs/cwg_active.html
http://www.comeaucomputing.com/iso/cwg_active.html
Notes about various aspects of C++, site list, book list etc
Incompatibilities between ANSI standard and C++ described in ARM
http://fusshuhn.ourfamily.com/cppincomp.html
The changes made to C++ by the joint ISO/ANSI C++ committee since
Bjarne Stroustrup's ARM (Annotated Reference Manual) was published
http://www.corfield.org/index.php?fuseaction=cplusplus.main
Comformance of C++ Compilers
http://animal.ihug.co.nz/c++/compilers.html
Search index of C++ Programming Language; 3rd edition
C++ 2000 proposal (warning - this is dated April 1st, 1998)
http://www.research.att.com/~bs/whitespace98.pdf
STL test suite
http://petef.port5.com/cpp/stltest.html
C/C++ reference - particularly the standard libraries
wikipedia entry (overview, history, links, books)
http://en.wikipedia.org/wiki/C_Plus_Plus
Kai tutorials (some comments on multithreading and on global initialisation)
http://www.hlrs.de/organization/tsc/services/tools/docu/kcc/tutorials/index.html
Nikki Locke's list of libraries
http://www.trumphurst.com/cpplibs/
http://purl.oclc.org/NET/C++Libraries
Search Nikki Locke's list of libraries
http://www.trumphurst.com/cppsearch.phtml
Keith Briggs' list of matrix packages
http://epidem13.plantsci.cam.ac.uk/~kbriggs/matclass_info
Ajay Shah's index of free C or C++ programs
http://cliodhna.cop.uop.edu/~hetrick/c-sources.html
ftp://usc.edu/pub/C-numanal/numcomp-free-c.gz
ftp://ftp.math.psu.edu/pub/FAQ/numcomp-free-c
List of C++ numerical analysis libraries
List of free high performance linear algebra packages
(all languages, some C++)
http://www.netlib.org/utk/people/JackDongarra/la-sw.html
Sites that have some links, some source code, some training stuff,
maybe some editorial i.e. "Portals".
C++4u.com
"Dream in code" forum and reference sheet
http://forums.dreamincode.net/showforum15.htm
http://forums.dreamincode.net/showtopic12694.htm
Code, documentation, articles, orientation to Visual C++ and MFC.
Site list, some programs, other resources
http://www.programmersheaven.com/zone3/index.htm
ITtoolbox C++: Job banks, tech news and stock information, downloads
and tutorials, mailing lists, book and software links with
visitor review comments and of course, links to C/C++-oriented sites.
C++ and how you can easily increase the efficiency in programming for
both speed and binary size and related topics
http://www.sw-optimization.com/index.html
High Integrity C++ Coding Standard Manual (HTML version online, you have to request the
pdf version).
List of sites with C and C++ style guides
http://www.cs.umd.edu/users/cml/cstyle/
Ellemtel's Programming in C++: Rules and Recommendations
http://www.cs.umd.edu/users/cml/cstyle/Ellemtel-rules.html
Taligent's rules
http://pcroot.cern.ch/TaligentDocs/TaligentOnline/DocumentRoot/1.0/Docs/books/WM/WM_1.html
Todd Hoff's coding style
http://www.possibility.com/cpp
Software Quality HotList (long list of links to sites concerned with
quality software)
http://www.testworks.com/Institute/HotList/
Valentin Bonnard's programming advice for C++ (English & French)
Also links, reference material
http://www.eleves.ens.fr:8080/home/bonnard/
http://pages.pratique.fr/~bonnardv/index.html
Tim Ottinger's naming conventions
http://tottinge.blogsome.com/meaningfulnames/
http://objectmentor.com/resources/articles/naming.htm
Re: Metrics for C++?
Here is a list of publications and tools to browse through:
http://satc.gsfc.nasa.gov/support/index.html
http://www.stsc.hill.af.mil/crosstalk/1994/dec/complex.html
http://yunus.hun.edu.tr/~sencer/oom.html
See Scott Meyers & Martin Klaus paper in tech reports
and papers section.
See Robert Martin's page under authors of C++ books
Some c++ guidelines in German; features an "expert summary" section
and a more detailed chapter for c++ / programming novices.
http://www.igd.fhg.de/~zach/progr/guidelines.html
See also "environment"
### June
DOC++ is a documentation system for C++ programs featuring generation
of HTML and LaTeX documentation.
http://www.zib.de/visual/software/doc++
http://docpp.sourceforge.net/index.html
Process C++ include files and produce web pages that document the
libraries, classes, and global functions and types that are found in
them
http://www.stratasys.com/software/cocoon
It's yet another filter from C/C++ to LaTeX. It honors the tabbing
used for the source file and generates clean LaTeX (not TeX ;-).
ftp://ftp.gsyc.inf.uc3m.es/pub/literate/
PERCEPS: Perl script to generate documentation in a variety of
formats from C++ header files.
http://starship.python.net/crew/tbryan/PERCEPS/
Autoduck: extract tagged documentation from comment statements and
assemble as html or rtf files (runs under MS windows).
ftp://ftp.accessone.com/pub/ericartzt/autoduck.zip
C++/Perl->LaTeX converter (that produces beautiful program listings)
*no longer there?*
http://krabat.physik.uni-giessen.de/~traxler/
Dimitri van Heesch's Doxygen
http://www.stack.nl/~dimitri/doxygen/index.html
Web++ parses C++ code to HTML format with a lot of hyper-links
http://opinaca.inrs-eau.uquebec.ca/download/webpp/index_eng.html
Like javadoc for java, reads embedded comments in the source code
and generates web based documentation.
http://www.joelinoff.com/ccdoc
George: automatic source code documentation tool
(Commercial product - free evaluation version)
http://www.codework.com/george/product.htm
C & C++ source browser, with PERL API for creating automatic documentation
Commercial product that is free to try
Object Outline generates HTML, RTF, and WinHelp documentation for
software written in C and C++ (now free)
Doc-O-Matic 2: cross linked documentation systems, including both
Source Code Documentation and Application Documentation and User
Manuals in PDF, HTML, HTML Help, Windows Help and RTF.
Commercial product with free trial.
(see also Amazon.com and its associates under bookshops)
Yechiel Kimchi's list of bad books (don't buy) in C++ and some suggestions
about choosing good ones.
http://www.cs.technion.ac.il/users/yechiel/CS/BadBooksC+C++.html
http://www.cs.technion.ac.il/users/yechiel/CS/ChoosingBooks.html
http://www.cs.technion.ac.il/users/yechiel/CS/C+C++books.html
Association of C & C++ users
http://www.accu.org/bookreviews/public/index.htm
Scott McMahan's reviews (now getting old and no longer there)
http://www.skwc.com/essent/cr_reviews.html
Harvey Taylor's booklist; old (1994) and mostly historical
http://www.robertnz.com/ftp/cpp_book.txt
AT&T netlib (numerical analysis, lapack)
Ericsson's C++ archives
ftp://euagate.eua.ericsson.se/pub/c++
CICA (windows/DOS)
Simtel (DOS/windows)
http://www.simtel.net/simtel.net/msdos/cpluspls.html
Walnut Creek
Garbo (DOS/windows)
Comp.sources.misc archives (unix)
ftp://wuarchive.wustl.edu/usenet
Jumbo freeware/shareware site
See also the sections "List of libraries", "Site lists",
"Environment", "Commercial" and "Everything sites"
Sourceforge "The world's largest repository of open source code"
Freshmeat "Web's largest index of Unix and cross-platform software"
STLport - a free, open source C++ standard library that runs
on just about any compiler.
HP standard template library
http://www.cs.rpi.edu/~musser/stl.html
D.R. Musser and Atul Saini, STL Tutorial and Reference
Guide: C++ Programming with the Standard Template Library
Addison-Wesley, Reading, MA, 1996.
Includes stl and ANSI-like string class (now out of date)
ftp://ftp.cs.rpi.edu/pub/stl/book/
SGI version of standard template library (PCs or unix)
Code, documentation, links
http://www.sgi.com/Technology/STL/
Standard C++ library (Integrated with SGI STL 3.2, templatized
IOStreams and locales, wrappers for C headers putting the symbols
into namespace std)
http://www.claas-solutions.de/cxxrt/
ObjectSpace STL
http://www.objectspace.com/toolkits/download/index.html
ANSI-like string class (almost same as Musser/Saini string class)
ftp://ftp.primenet.com/users/k/kj7bg/bstring.zip
Cay Horstmann's "Safe STL".
http://www.mathcs.sjsu.edu/faculty/horstman/safestl.html
Jonathan Lundquist's non-standard library covering the same kind of facilities
as the standard library
http://www.fluxsmith.com/programming/library.asp
(works with IE but not Netscape)
Repository for free C++ libraries; submissions are peer reviewed; emphasis on
libraries which work well with the C++ Standard Library
Database template library: Make ODBC recordsets look like an STL container;
move through our containers using standard STL iterators; and if you insert(),
erase() or replace() records in our containers changes are automatically
committed to the database.
http://dtemplatelib.sourceforge.net/index.htm
Regular expression editor (portable), OLE automation examples (MS Windows) etc
http://ourworld.compuserve.com/homepages/John_Maddock/index.htm
String library (high-performance, portable, fast, regular expression support)
Commercial, but you can get free trial including source.
http://www.utilitycode.com/str
John J. Barton and Lee R. Nackman: Scientific and Engineering C++
*no longer there*
http://www.research.ibm.com/xw-SoftwareTechnology-books-SciEng-AboutSciEng.html
Source code from Accelerated C++ by Andrew Koenig and Barbara Moo
Unicode support library (open source): includes character set conversions,
collation, a Unicode based string class, date, time and calendar support, and
much more.
Edward M. Reingold's Calendar Papers and Code
http://emr.cs.uiuc.edu/~reingold/calendars.shtml
Todd Knarr's date and time classes
The files Date.C and Date.h contain a date class capable of handling
dates from 1 Jan 4713BC to 31 Dec 9999AD. Time.C and Time.h contain
a time class capable of to-the-second time resolution. This seems to
have vanished - they're back!
ftp://ftp.xmission.com/pub/users/t/tknarr
e4graph: C++ library for storing "irregular" data
http://www.e4graph.com/e4graph/
http://sourceforge.net/projects/e4graph/
"DS++", a data structures library written in C++
ftp://dino.ph.utexas.edu/furnish/ds++-951128.tar.gz
*no longer there*
http://dino.ph.utexas.edu/~furnish/ds++
Oracle Call Interface Template Library
http://home.sprynet.com/sprynet/skuchin/otl_1pg.htm
M. A. Sridhar: Building Portable C++ Applications with YACL
http://www.cs.sc.edu/~sridhar/yacl.html
cpp-lib, a C++ network, maths & utility library released
under the LGPL
http://www.cosy.sbg.ac.at/~gwesp/sw/cpp-lib-0.9.3.tar.gz
Newmat matrix library, Newran random number library
GMM++ - Generic C++ Matrix Library
http://www-gmm.insa-toulouse.fr/getfem/gmm_intro
GETFEM++: Generic and efficient C++ library for elementary
computations for finite element methods
http://www-gmm.insa-toulouse.fr/getfem/
Daveed Vandevod's valarray (array manipulation) programs
ftp://ftp.cs.rpi.edu/pub/vandevod/Valarray/Rel1_1
ftp://ftp.cs.rpi.edu/pub/vandevod/Valarray/Rel2_0Beta
Roldan Pozo's sparselib++ and mv++ (& lecture notes on numerical C++)
http://math.nist.gov:80/acmd/Staff/RPozo/
Template Numerical Toolkit (TNT) is a collection of interfaces
and reference implementations of numerical objects useful for
scientific computing in C++.
Tiny vector and matrix class - use Meta and Expression Templates
http://sourceforge.net/projects/tvmet/
Matrix-vector class
http://cheapmatrix.sourceforge.net/
Dan Quinlan's A++/P++ (also a pretty comprehensive set of numerical links).
http://www.extreme.indiana.edu/hpc++/
The Matrix Template Library - includes sparse matrices, iterative
methods etc
http://www.osl.iu.edu/research/mtl/
The Blitz++ Numerical Library Project
(techniques which will enable C++ to rival the speed of Fortran for
numerical computing, while preserving an object-oriented interface)
MET is a C++ matrix class library which promotes the notational
convenience of linear algebraic codes but is free of the overhead
of superfluous temporary matrix objects.
GNUSSL Scientific Software Library. Linear algebra and arrays.
ftp://prep.ai.mit.edu/pub/gnu/gnussl-0.2.1.tar.gz
Easy to use and powerful numerical library
http://home.cern.ch/l/ldeniau/www/html/sl++.html
Rlab: Matlab "semi-clone" written in C++
http://www.eskimo.com/~ians/rlab.html
rmatrix - matrix library and associated classes
http://flamingo.snu.ac.kr/~rmatrix/
Ed Tisdale's multidimensional array package
http://www.netwood.net/~edwin/svmtl/
Parallel Mathematical Libraries Project
Sparse iterative, direct, sequential and parallel solvers in C++,
It supports NT systems and NT clusters.
http://www.erc.msstate.edu/labs/hpcl/pmlp
Templated library for complex numbers, dynamic vectors, static vectors, full
matrices, band matrices, sparse matrices, etc. and a representation for Tensors
including contraction, direct product and multiplication.
http://hft.e-technik.uni-dortmund.de/uk.html
Multidimensional array library using expression templates (version 2.0.0)
http://www.lysator.liu.se/~enok/software/expresso/html
Keith Briggs' double double (quad) precision package
http://members.lycos.co.uk/keithmbriggs/doubledouble.html
apfloat: C++ High Performance Arbitrary Precision Arithmetic Package
http://www.iki.fi/~mtommila/apfloat/
HiPiLib Libraries - arbitrary precision arithmetic
(Free to some users - otherwise commercial)
Extend range of exponents of floating point numbers
(Same precision as double, exponent range is increased)
CLN - Class Library for Numbers (includes extra precision)
> I've been looking for Big Numbers libraries in C++ through Internet
Hfloat
MIRAC
ftp://ftp.compapp.dcu.ie/pub/crypto/
Numerical Toolbox for Verified Computing
http://www.uni-karlsruhe.de/~iam/html/literatur/c-toolbox.html
Numerical optimisation (local and global)
http://www-math.cudenver.edu/~rvan/VerGO/VerGO.html
Interval arithmetic
http://www.ti3.tu-harburg.de/Software/PROFIL.html
Parallel Object-oriented Methods and Applications (POOMA) framework
Portable Expression Template Engine
"deal" finite element library
http://gaia.iwr.uni-heidelberg.de/~deal
"vs.lib" integrable/differentiable objects in C++, and "fe.lib",
an object-oriented finite element library fe.lib has free source
code, however, it is written with vs.lib which is not free.
Finite elements and partial differential equations
http://augustine.mit.edu/Christophe.Prudhomme/gfem.php
Modelling 3D fluid flow and other 3D diff. eq. modelling
http://www.vug.uni-duisburg.de/MOUSE
Rheolef: a finite element environment - C++ classes and unix commands
http://www-lmc.imag.fr/lmc-edp/Pierre.Saramito/rheolef
Class Library for Accelerator System Simulation and Control
(includes a matrix package amongst other things)
http://wwwslap.cern.ch/classic/
Digital signal processing library
Informatique CDC www page (Bison++, flex++, remote procedure
call library) (This link seems to be broken)
Qt-based Scientific Modeling and Plotting Library
OptSolve++ -- Nonlinear Optimization and Root-Finding
Opensprings C++ libraries - mostly GUI at present, more to come
(GPL or commercial license)
http://www.opensprings.org/?q=node/view/3
Bruce Wampler's cross-platform C++ GUI Framework
http://www.cs.unm.edu/~wampler/
ftp://ftp.cs.unm.edu/pub/wampler/v.tar.gz
ftp://ftp.cs.unm.edu/pub/wampler/vwin.zip
Zinc cross-platform GUI
(A commercial product available free for personal use)
wxWindows cross-platform GUI
http://web.ukonline.co.uk/julian.smart/wxwin/
Qt: multiplatform C++ application framework (commercial product, but there
is a free GPL version
http://www.fltk.org/index.html
C++ graphical user interface toolkit for X (UNIX®), OpenGL, and WIN32
C++ based Toolkit for developing Graphical User Interfaces
http://cyberia.cfdrc.com/FOX/fox.html
C++ Application Framework for the X Window System
http://www.its.caltech.edu/~jafl/jx/
Code guru (lots of MFC stuff & notes on how to do things)
MFC, win32, COM and some general C++ stuff
http://dialspace.dial.pipex.com/town/road/xmx04/Source/source.htm
COOOL optimisation (ie finding numerical maxima and minima) library
ftp://ftp.cwp.mines.edu/pub/cwpcodes/coool
http://www.cwp.mines.edu/cwpcodes/coool/
ADAPTIVE Communication Environment (ACE): An Object-Oriented
Network Programming Toolkit in C++
http://www.cs.wustl.edu/~schmidt/ACE.html
SWORD is a general-purpose C++ library, complements ACE in order
to build high preformance, high quality, portable C++ software.
http://www.erik-n.net/software/sword/
Middleware generator - you send this website a description of an object -
it sends back code to send and receive this object. Access user guide from
"C++ Middleware Form" page.
Mumit Khan's fftpack++
http://www.xraylith.wisc.edu:80/~khan/
C++ interface to the netCDF portable binary data format:
(for atmospheric scientists and geophysicists)
http://www.unidata.ucar.edu/packages/netcdf/faq.html#cplusplus
Snippets collection - computer science and mathematics functions, mostly
C, some C++
Data mining and analysis
http://www.sgi.com/Technology/mlc
Object Oriented MPI (OOMPI): A full-featured class library for MPI.
What's MPI? Message passing interface (for parallel processors)
http://www.osl.iu.edu/research/oompi/
C++-Wrapper for MPI (parallel programming)
http://www.loria.fr/projets/para++
Physics and parallel processing software (and articles)
http://www.acl.lanl.gov/software/
... a collection of C++ string, array, and matrix
classes in the public domain
http://www.cs.virginia.edu/~alb/techrep/techrep.html
Genetic Algorithms (GA) class library called TOLKIEN.
http://home.netvigator.com/~anthony/tolkien.html
PDP++ neural network software
http://www.co.umist.ac.uk/SupportWeb/pdp++/html/pdp-user_1.html
Callback library:
http://www.newty.de/jakubik/callback.html
Paul Lucas's finite state machine
ftp://ftp.best.com/pub/pjl/software/chsm-2.3.tar.gz
http://www.best.com/~pjl/software.html
ftp://a.cs.uiuc.edu/pub/mickunas/lucas.thesis.ps.Z
(M.S. thesis)
An Algebraic Typing and Pattern Matching Preprocessor for C++
http://www.primenet.com/~georgen/app.html
... a collection of C++ algebraic objects, allowing equation
representation+edit under windows environment.
http://www.geocities.com/Athens/6308
Image compression using wavelets
http://www.cs.dartmouth.edu/~gdavis/wavelet/wavelet.html
Wavelets package
http://www.cs.kuleuven.ac.be/~wavelets/
Crypto++ is a free C++ class library of cryptographic primitives
http://www.eskimo.com/~weidai/cryptlib.html
C++ wrapper for Peter Gutmann's cryptlib
ftp://ftp.franken.de/pub/crypt/cryptlib/CryptCpp.zip
Multiple integer and rational arithmetic c/c++ library
Matpack - C++ matrix and vector algebra, random number generators,
special functions, FFT, quaternions, differential equations,
integration, interpolation
LinAl - simple, easy to use yet fast library for linear algebra in C++.
http://linal.sourceforge.net/LinAl/Doc/linal.html
Matlab to C++ Compiler and C++ Math Matrix Library - MATCOM V2
Now is commercial, but you can download a 30 day trial version
Mark Von Tress's matrix package: large matrices on small PCs
http://ourworld.compuserve.com/homepages/MSVonTress/homepage.htm
LinAl is a simple, easy to use and efficient linear algebra library
Computational number theory (LiDIA)
ftp://ftp.informatik.th-darmstadt.de/pub/TI/systems/LiDIA/LiDIA.tgz
LEDA: data structures, graph algorithms and geometric algorithms etc
(Now a commercial product with 30 day evaluation license)
http://www.algorithmic-solutions.com/enleda.htm
http://www.quappa.com/leda.htm
Shareware database system - registered version includes source code;
also links to other database sites relevant to C++ & databases
George Barwood's cryptographic software
http://ds.dial.pipex.com/george.barwood/crypto.htm
The fastest FFT in the West
(UNIX; in C but maybe you can put a C++ wrapper on it)
2x2,3x3,4x4 inline matrix manipulation
http://www.animats.com/topics/developers.html
Sage++ translater for parallel C++
http://www.extreme.indiana.edu/sage/index.html
Data aquisition, storage, analysis and presentation of
large bodies of scientific (particularly physics) data
http://wissrech.iam.uni-bonn.de/research/projects/AWFD/index.html
AWFD: C++ library for wavelet based solvers for PDEs and integral equations
Assertion checking (forall, x/x',time) & logging - parts require gcc
http://www.cs.ntu.edu.au/homepages/pjm/nana-home
FFT (Fast Fourier Transform) for Borland C++Builder (shareware)
http://www.lohninger.com/fourier.html
http://qspr03.tuwien.ac.at/lo/fourier.html
Numerical recipes in C, F* etc
(Online access to book, online store for software, etc)
CIDLib: general purpose C++ development framework, 300+ classes.
Source, documentation & tutorial. Release is for NT/VC++, but portable
to other platforms. Expect Linux version soon. Includes environment, collection
classes, numerous core data types, encryption, error message and exception
management, file system support, TCP/IP, regular expressions, windows and
graphics support, etc. etc.
Brighton University Resource Kit for students
http://burks.bton.ac.uk/burks/
Some code examples
http://users.deltanet.com/~tegan/home.html
Nonlinear statistical modelling using automatic differentiation
(main product is commercial but there is a demonstration version
for download)
http://www.island.net/~otter/index.html
Perl-like C++ classes for string manipulation
ftp://ftp.netcom.com/pub/mo/morris/splash.notes
ftp://ftp.netcom.com/pub/mo/morris/splash190.tar.gz
ftp://ftp.netcom.com//pub/mo/morris/splash190.zip
RE-Lib - C++ Regular Expression Library
http://www.geocities.com/SiliconValley/Peaks/8778/pubdom.html
Computational thermodynamics library - Gibbs energy of
multi-compartment systems
http://www.chem.msu.su/~rudnyi/tdlib/
GAlib: A C++ Library of Genetic Algorithm Components
ROBOOP: A Robotics Object Oriented Package in C++
(for simulation of robotic manipulator models)
http://www.cours.polymtl.ca/roboop/
libsql++ is a c++ library that wraps ODBC calls into an oo interface.
Provides c++ applications with an easy to use approach to databases.
C++ Library for accessing multiple SQL databases - shareware
http://www.sqlapi.com/index.html
DGC is a conservative distributed garbage collection library
built on top of Boehm and Demers' collector for (mainly)
uniprocessors.
http://www.yl.is.s.u-tokyo.ac.jp/gc/dgc.shtml
ftp://ftp.yl.is.s.u-tokyo.ac.jp/pub/gc/dgc-0.1b.tar.gz
C++ Library for Quantum Computer Emulation
http://home.plutonium.net/~dagreve/qdd.html
Multi-variate polynomial interpolation
http://www.mi.uni-erlangen.de/~sauer/
C++ classes for speech recognition
http://www.bigfoot.com/~Jialong_He
C and C++ code with emphasis on Windows and MFC
also tutorial
http://www.Planet-Source-Code.com
C++ uniform random number generators
(For BeOS but I imagine they are portable)
http://www.users.dircon.co.uk/~bebox/rng.html
Numerical and computer science routines in C
http://www.willnaylor.com/wnlib.html
C++ interface to ARPACK ( Fortran routines for
eigenvalues of sparse matrices)
http://www.ime.unicamp.br/~chico/arpack++/
http://www.caam.rice.edu/software/ARPACK/
Programs from modelling vibration
http://www.vibrationdata.com/software.htm
Socket library (Unix and Windows)
http://www.cs.utexas.edu/users/lavender/courses/socket++/
Another socket library (Unix and Windows)
http://www.alhem.net/Sockets/index.html
library for filtering and transforming STL containers
(development stage at present)
JPEG image compression (C code)
Mathematical expression parser
Functional programming library
http://www.cc.gatech.edu/~yannis/fc++/
kbhit under Linux
http://linux-sxs.org/kbhit.html
C++ implementation of the Mersenne Twister random number generator
http://www.coyotegulch.com/libcoyote/TwistedRoad/TwistedRoad.html
See the G++ FAQ list for where to download the G++ compiler
Gnu win32 related projects
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/index.html
ECGS home page (experimental Gnu C++ compiler)
DJGPP compiler
DEV-C++ development environment for windows (includes Gnu compiler)
http://www.bloodshed.net/devcpp.html
"Ch" interpreter for C and subset of C++
(free for academic and non-profit organisations)
http://www.softintegration.com
Digital Mars C and C++ Compilers for Win32, Win16, DOS32 and DOS
Compiler is free, low cost for CD including library source, IDE, etc
Borland C++ compiler version 5.5 for windows (free)
http://www.inprise.com/downloads/#cppbuilder
Running Borland 5.5 compiler under Borland 5.02 IDE
http://www.sirma.bg/knowledgebase/
Intel compiler for Linux - free for non-commercial use
(There is also a version for Windows but it isn't free after 30 days)
[You have to register to do the download]
http://www.intel.com/software/products/compilers/clin/noncom.htm
If you are trying to use version 7 under RedHat 9 Linux please see
http://newweb.ices.utexas.edu/misc/ctype.c
Free, public domain C/C++ compiler and checker technology (with source)
http://www.cse.unsw.edu.au/~patrykz/TenDRA/
Maintenance files for Watcom C++
http://download.sybase.com/esd/c_v11.html
http://download.sybase.com/esd/c_v105.html
http://download.sybase.com/esd/c_v10.html
Open Watcom site
Ultimate++ is the complete C++ GPL lincensed development system. It
consists of set of libraries (GUI, SQL, web etc.) and the integrated
development environment (TheIDE).
IDE for Gnu G++ under MS Windows (also list of free compilers etc)
http://www.bloodshed.net/devcpp.html
OSE class library (error management, memory management, date/time etc),
environment and documentation tools
emacs mode
*no longer there?*
ftp://ftp.python.org/pub/emacs/cc-mode.tar.gz
ftp://ftp.python.org/pub/emacs/cc-mode/
http://www.python.org/ftp/emacs/
ftp://archive.cis.ohio-state.edu/pub/gnu
ABC++ is a preprocessor and documentation tool which translates an
extended C++ syntax into ANSI C++.
Software dev tools purchased or considered by Fermilab
http://www.fnal.gov/cd/sweng/sweng.html
Freeware UML class diagram drawing tool with C++ code generation
(runs under MS windows)
http://homestead.dejanews.com/user.Xvenemaj/files/ClassBuilder.htm
http://members.tripod.lycos.nl/JimmyVenema/ClassBuilder/ClassBuilder.htm
HTML-kit: simple editor for MS Windows that includes a mode for C++
Make file generator for Unix
http://www.ai.rug.nl/~bneijt/prog/C++/ccbuild/
User and special interest groups; forums
Go4expert C++ forum
http://www.go4expert.com/forums/forumdisplay.php?f=20
C++ and C SIG (New York)
C++ SIG of Object Developers Group (ODG), New York City
http://www.objdev.org/news/c.html
Association of C & C++ users
C/C++ users' group
http://www.hal9k.com/cug/index.htm
Wavelets forum
http://www.ondelette.com/indexen.html
Extraordinary C++ conference, Sept 23-26, 2007, Astoria, Oregon
SIGs conferences
http://www.101com.com/conferences/sigs/
List of computer science and mathematics conferences
http://www.netlib.org/confdb/Conferences.html
D programming language
Java
Eiffel
The C++ Source
http://www.artima.com/cppsource/
See also C++ authors
C++ Report and Journal of Object Oriented Programming (partial) archive
http://www.adtmag.com/joop/index.asp
Template metaprograms
http://extreme.indiana.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html
Todd Veldhuizen: Techniques for Scientific C++
http://www.extreme.indiana.edu/~tveldhui/papers/techniques/techniques.html
Quinn Tyler Jackson's papers
The new C++ casting operators
http://www.acm.org/crossroads/xrds3-1/ovp3-1.html
Interviews with Nathan Myers and Stan Lippman of state of C++
http://www.technetcast.com/tnc_cpp0.html
Paul Pedriana: High Performance Game Programming in C++
http://www.ccnet.com/~paulp/index.html
Articles on all aspects of C++ are being sought for publication in C++
Toolbox, a new column on C++ programming that premiered in the January 1996
issue of SIGPLAN Notices.
http://www.cs.rpi.edu/~wiseb/sigplan/toolbox-call.html
http://www.cs.rpi.edu/~wiseb/sigplan/toolbox-call.txt
http://www.cs.rpi.edu/~wiseb/sigplan/toolbox.html
(includes past issues)
Websites for authors of C++ books and articles
Bjarne Stroustrup
http://www.research.att.com/~bs/homepage.html
Andrew Koenig
http://www.research.att.com/info/ark
Nicolai M. Josuttis
(The C++ Standard Library, C++ Templates - The Complete Guide)
Daveed Vandevoorde (C++ Templates - The Complete Guide)
http://vandevoorde.com/Templates
Scott Meyers (also consulting/training services)
Ira Pohl
Steve Heller, author and software engineer
Copies of his books "Who's Afraid of C++?" and
"Optimizing C++" online here.
Mark Nelson
Jesse Liberty (also consulting/training services)
http://www.libertyassociates.com
Nathan Myers
Robert Martin (look at the articles page)
P J Plauger
http://www.tiac.net/users/pjp/
Bruce Eckel
(Includes "Thinking in C++ 2nd Edition" online)
Douglas C. Schmidt (Networking, C++ report, etc)
http://www.cs.wustl.edu/~schmidt/
Ian Joyner (programming languages, object-orientation,
distributed processing, and people factors)
http://homepages.tig.com.au/~ijoyner/
Scott Robert Ladd
Herb Sutter (standards, Guru of the week, articles)
Ray Lischner (C++ in a Nutshell - forthcoming; draft copy)
http://www.tempest-sw.com/cpp/
(but with some free things)
...technical help and expert consulting on a variety of topics,
for free (for now)
http://www.experts-exchange.com
Dinkum (STL things)
http://www.dinkumware.com/index.html
San Francisco Bay Area Center for Advanced Technology
(consulting, training, interesting articles)
See also consulting services
IT Job Board: C++ Jobs in Europe
http://www.itjobboard.nl/browse/Browse-C%2B%2B-Jobs/en
Microsoft
Borland (Inprise?)
See also
Symantec:
IBM
DigitalMars (C++ and D compilers)
Engineering Objects International - Peter N Roth
C++ & Delphi Specialists (Class builder)
ObjectSpace (class libraries: STL + other toolkits)
ObjectSoftware: Javadoc-like documentation tool; other development tools
Ochre software: source code beautifier for C++. Fully
functional 15 day trial is available for download
http://www.ochre.com.au/index.html
Upspring Software - Development and Quality Assurance products
including C++ browser (50 standard queries; text and graph views;
class member attributes; macros and compiler generated constructs;
understands function/operator overloading; integrated editors; etc)
http://www.upspringsoftware.com/products/coderover/index.html
Cygnus solutions
Rogue Wave software
Extreme optimization - Numerical and statistical library for .NET
framework including managed C++ (free 15 day trial version)
http://www.extremeoptimization.com/
Dundas Software
(M++ multidimensional array and math library - discontinued?)
http://www.dundas.com/index.asp?/products/dyad
NMath Matrix is an advanced matrix manipulation library for the
.NET platform (commercial software - free trial version)
http://www.centerspace.net/products.php?page=2
Advanced Scientific Applications, Inc.
Dakota Scientific Software
I-Logix (object oriented design, UML, papers on UML etc)
ObjecTime (real-time object oriented programming)
Addison-Wesley books (includes descriptions of their C++ books)
Waite group press
Plum Hall (validation suites etc)
http://www.plumhall.com/index.html
KAI (Kuck & Associates, Inc.)
The KAI compiler has been discontinued
http://developer.intel.com/software/products/kcc/
Edison Design Group (C++ front ends)
Intel C++ compiler (see also compilers)
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/
Comeau Computing (C++ front ends)
http://www.comeaucomputing.com
Delta logic (STL products - also list of STL resources)
Codebase: xBASE compatible database engine for C/C++
C++ report (RIP)
Dr Dobbs Journal
C/C++ Users' Journal
Visual C++ dev journal
http://www.vcdj.com/default.asp
Template Graphics Software (3D graphics libraries)
Genitor Corporation (graphical editing environment & other
tools for constructing, documenting, and maintaining C/C++ code)
Numerical objects PDE portal and diffpack site
This is a commercial site with links to Partial Differential
Equation sites. Free access to some diffpack source code.
Reports on applications of diffpack and general numerical
programming.
C++-Class-Libraries (GUI - Scheduling - Planning - Optimization)
Parasoft (software quality development tools)
http://www.parasoft.com/insure/index.htm
OPT++: Object-Oriented Nonlinear Optimization Library
http://crd.lbl.gov/~meza/projects/opt++/
Tech-X Corporation - object oriented numerics
(optimisation and physics applications)
Optimisation program available for free non-commercial use
Object continuum - date/time and ODBC classes
http://www.objectcontinuum.com
Object Design - object oriented data management including
large-scale financial systems, packaged software applications,
high-performance commercial Web sites, telecommunications
IP*works - network interface components - trial versions available
for download.
http://www.nsoftware.com/index.asp
jfront inc.
C++ library for parsing java source code
Wessex Scientific and Technical Services - scientific and
engineering software in C++ (& Fortran).
Programmer's Helpdesk - C++ and Java help for students by students
Valentina object database engine - written in C++ but I don't know whether
you can get to see the source. Interface SDKs in numerous languages.
People ask where they can mail-order quality C++ books and
here are 6 (out of many) answers.
Quantum books
Amazon.com books - Seattle
Barnes And Noble
Bookpool. Discounts, on-line catalogue, reviews etc
Nerdbooks
Powell's books
alt.comp.lang.learn.c-c++
comp.lang.c++
comp.lang.c++.leda
comp.lang.c++.moderated
Moderation policy: http://www.connobj.com/cpp/guide.htm
comp.object
comp.os.msdos.djgpp
comp.os.ms-windows.programmer.tools.mfc
comp.os.ms-windows.programmer.tools.owl
comp.std.c++
To submit articles: Try just posting with your newsreader.
FAQ: http://reality.sgi.com/employees/austern_mti/std-c++/faq.html
Policy: http://reality.sgi.com/employees/austern_mti/std-c++/policy.html
de.comp.lang.c++
de.comp.lang.iso-c++
es.comp.lenguajes.c++
fido.ger.c_plusplus
fj.lang.c++
fr.comp.lang.c++
gnu.g++.announce
gnu.g++.bug
gnu.g++.help
gnu.g++.lib.bug
hepnet.lang.c++
han.comp.lang.c++
it.comp.lang.c++
microsoft.public.usasalesinfo.developer.visualc++
microsoft.public.vc.*
powersoft.public.watcom_C_C++.general
relcom.fido.su.c-c++
Search current and old newsgroups
http://www.google.com/grphp?hl=en
For accessing DigitalMars newsgroups see
http://www.digitalmars.com/NewsGroup.html
For accessing Inprise/Borland newsgroups see
http://www.inprise.com/newsgroups/
Threads in C++ mailing list
http://www.codesourcery.com/archives/c++-pthreads/threads.html
Standard template library
To post to the list, send email to
To ask to be added or removed from the list, send email to
with the word "subscribe" or "unsubscribe" in the Subject line.
Object oriented numerics mailing list
http://oonumerics.org/oon/oon-list/
Parallel processing newsletter
http://www.kfa-juelich.de/zam/cxx/mpp/index.html
Numerical analysis digest
http://www.netlib.org/na-net/na_home.html
Since 2011, when C++11 arrived, we all should be changing our coding style into modern C++ and at the same time keep good old tips. There are also general rules for programming and bug-free coding. Here’s a list of guidelines and other resources that might help you.
Main site: C++ Core Guidelines
From the abstract:
This document is a set of guidelines for using C++ well. The aim of
this document is to help people to use modern C++ effectively. By
“modern C++” we mean C++11 and C++14 (and soon C++17). In other words,
what would you like your code to look like in 5 years’ time, given
that you can start now? In 10 years’ time?
Elements:
The guideline is moderated by Bjarne Stroustrup and Herb Sutter. Here’s Bjarne Stroustrup’s C++ Style and Technique FAQ and Sutter’s GotW section.
Additionally here’s the post from Kate Gregory about coding guidelines: C++ Core Guidelines and Checking Tool And also, she started doing more posts about core guidelines, for example: Using the not_null Template for Pointers That Must Never Be Null
Some time ago a company that produces PVS-Studio for C/C++/C# (viva64.com/) posted a very long list of potential bugs and tips that you can use to improve your C++ code. It’s also in the form of a book:
The book covers 42 topics. In spite of the simple titles of the
chapters, the bugs found are really various and non-standard. In
addition to that, the text provides a lot of links to interesting
materials that give more details on topics. To make more use of this
book, please don’t hurry and go to the links provided.
Content:
Here’s the post: http://www.viva64.com/en/b/0391/ that gets regularly updated. I highly encourage you to read about those problems from time to time… maybe something similar could be improved in your apps?
Google C++ Coding Standard is another popular resource that is public and easy to find
Just go here: https://google.github.io/styleguide/cppguide.html
Top level index:
Since Google is a software giant, we should obey their rules, right? Not that easy! There is a huge discussion going on if the guide is good or not. Read especially this detailed post: Why Google Style Guide for C++ is a deal-breaker. And here is a reddit thread for the article.
What are the main controversies over the guide: banning exceptions, public inheritance, passing reference parameters, probably not using advanced template techniques.
To see reasoning behind the guideline, you can watch this video:
CppCon 2014: Titus Winters “The Philosophy of Google’s C++ Code”
Bloomberg - BDE
https://github.com/bloomberg/bde/wiki/Introduction-to-BDE-Coding-Standards
OpenOffice
http://www.openoffice.org/tools/coding.html
LLVM
http://llvm.org/docs/CodingStandards.html
Mozilla
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style
Chrominium
https://www.chromium.org/developers/coding-style
Mostly it uses Google Style Guide, but here are also some specific sections: C++11 use in Chromium or C++ Dos and Don’ts
High Integrity C++ Coding Standard Version
http://www.codingstandard.com/
WebKit
https://webkit.org/code-style-guidelines/
QT
https://wiki.qt.io/Coding_Conventions
ROS (Robot Operating System)
http://wiki.ros.org/CppStyleGuide
They have also invested in auto format tool: roscpp Code Format
SEI CERT C++ Coding Standard
Little Bonus:
In this post, I brought you a list of c++ guidelines that might add value to your internal guidelines. Please have a look especially at C++ Core Guidelines since it’s created by the community and moderated by Bjarne Stroustrup and Herb Sutter.
What guideline I am missing here? Let me know if you have a useful link to that.
If you ever get this error when running an executable:
$ ./main
./main: error while loading shared libraries: librandom.so: cannot open shared object file: No such file or directory
You can try doing the following:
ldd <executable>
.readelf -d <executable> | grep NEEDED
.libs
directory?LD_DEBUG=libs ldd <executable>
.LD_LIBRARY_PATH
environment variable.rpath
or runpath
by passing -Wl,-rpath,<dir>
(for rpath
) or -Wl,--enable-new-dtags,-rpath,<dir>
(for runpath
). Use $ORIGIN
for paths relative to the executable.ldd
shows that no dependencies are missing, see if your application has elevated privileges. If so, ldd
might lie. See security concerns above.printf
definition lies in stdio
header file.In C and C++, a program that consists of multiple source code files is compiled one at a time. Until the compilation process, a variable can be described by it’s scope. It is only when the linking process starts, that linkage property comes into play. Thus, scope is a property handled by compiler, whereas linkage is a property handled by linker.