C, C++

84 views
Skip to first unread message

Duc Tad

unread,
Jun 24, 2014, 11:26:56 PM6/24/14
to littlebrothe...@googlegroups.com

Tad

unread,
Jun 25, 2014, 12:55:29 AM6/25/14
to littlebrothe...@googlegroups.com

http://en.wikipedia.org/wiki/Comp.*_hierarchy

Internet sites and files of interest to C++ users

Introduction

 

 

                           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:

 

http://www.google.com

http://www.yahoo.com

 

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

http://www.robertnz.net

 

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.

 

 

Frequently asked questions

 

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

http://mfcfaq.stingray.com/

 

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

 

 

Learning C++

 

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.

http://www.cplusplus.com/

 

### 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.

http://www.cprogramming.com/

 

Tutorials about C++

http://cplus.about.com/

 

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

http://www.relisoft.com/

 

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.

http://m2tech.net/cppclass/

 

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

http://www.informit.com/

 

C++ in 21 days - 2nd edition

http://newdata.box.sk/bx/c/

 

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.

http://www.codersource.net

 

 

Site lists

 

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

http://oonumerics.org/

 

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)

http://www.cppsig.org/

 

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

http://www.jjj.de/joerg.html

 

Bowden Wise's page

http://www.cs.rpi.edu/~wiseb/

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

http://cplus.miningco.com/

 

J. Shiva's site (links, book recommendations etc)

http://www.slack.net/~shiva/

 

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

http://howlingmad.gmxhome.de/

 

Free software sites

http://www.thefreecountry.com

 

 

C++ resources

 

Borland builder development

http://www.bcbdev.com/

 

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)

http://www.ansi.org

 

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)

http://www.elj.com/cppcv3/

 

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++/

http://www.ocsltd.com/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

http://www.cplus-zone.com/

 

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

http://bookworm.atterer.net

 

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

http://www.cppreference.com/

 

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

 

 

List of libraries

 

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

http://oonumerics.org/blitz/

 

List of free high performance linear algebra packages

(all languages, some C++)

http://www.netlib.org/utk/people/JackDongarra/la-sw.html

 

 

Everything sites

 

Sites that have some links, some source code, some training stuff,

maybe some editorial i.e. "Portals".

 

C++4u.com

http://www.cpp4u.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.

http://www.codeproject.com

 

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.

http://c.ittoolbox.com

 

 

Programming style

 

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).

http://www.codingstandard.com

 

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.mccabe.com

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

 

 

Documentation systems

 

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

http://www.scitools.com

 

Object Outline generates HTML, RTF, and WinHelp documentation for

software written in C and C++ (now free)

http://www.bbeesoft.com

 

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.

http://www.doc-o-matic.com/

 

 

Book reviews

 

(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

 

 

Program archives

 

AT&T netlib (numerical analysis, lapack)

ftp://netlib.att.com

 

Ericsson's C++ archives

ftp://euagate.eua.ericsson.se/pub/c++

 

CICA (windows/DOS)

http://www.cica.indiana.edu

ftp://ftp.cica.indiana.edu

 

Simtel (DOS/windows)

http://www.simtel.net/simtel.net/msdos/cpluspls.html

ftp://oak.oakland.edu

 

Walnut Creek

ftp://ftp.cdrom.com

 

Garbo (DOS/windows)

ftp://garbo.uwasa.fi

 

Comp.sources.misc archives (unix)

ftp://wuarchive.wustl.edu/usenet

 

Jumbo freeware/shareware site

http://www.jumbo.com/

 

 

Source code

 

See also the sections "List of libraries", "Site lists",

"Environment", "Commercial" and "Everything sites"

 

Sourceforge "The world's largest repository of open source code"

http://sourceforge.net/

 

Freshmeat "Web's largest index of Unix and cross-platform software"

http://freshmeat.net/

 

STLport - a free, open source C++ standard library that runs

on just about any compiler.

http://www.stlport.com

 

HP standard template library

ftp://butler.hpl.hp.com/stl/*

ftp://ftp.cs.rpi.edu/stl

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

http://www.boost.org/

 

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

http://www.acceleratedcpp.com

 

Unicode support library (open source): includes character set conversions,

collation, a Unicode based string class, date, time and calendar support, and

much more.

http://www.icu-project.org/

 

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

ftp://ftp.cs.sc.edu/pub/yacl

 

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

http://www.robertnz.com

 

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/pozo   

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++.

http://math.nist.gov/tnt/

 

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)

http://oonumerics.org/blitz/

 

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.

http://met.sourceforge.net/

 

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)

http://www.hipilib.de/

 

Extend range of exponents of floating point numbers

(Same precision as double, exponent range is increased)

http://www.nbif.org/software

 

CLN - Class Library for Numbers (includes extra precision)

http://www.ginac.de/CLN/

 

> I've been looking for Big Numbers libraries in C++ through Internet

Hfloat

http://www.jjj.de/joerg.html

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

http://www.acl.lanl.gov/pooma

 

Portable Expression Template Engine

http://www.acl.lanl.gov/pete

 

"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.

http://www.vector-space.com/

 

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

http://spuc.webjump.com/

 

Informatique CDC www page (Bison++, flex++, remote procedure

   call library) (This link seems to be broken)

http://www.icdc.fr/

 

Qt-based Scientific Modeling and Plotting Library

OptSolve++ -- Nonlinear Optimization and Root-Finding

http://www.techxhome.com/

 

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)

http://www.zinc.com/

 

wxWindows cross-platform GUI

http://web.ukonline.co.uk/julian.smart/wxwin/

http://www.wxwindows.org

 

Qt: multiplatform C++ application framework (commercial product, but there

is a free GPL version

http://www.trolltech.com/

 

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)

http://www.codeguru.com/

 

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.

http://www.webebenezer.net

 

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++

http://www.snippets.org/

 

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

http://indigo.ie/~mscott/

 

Matpack - C++ matrix and vector algebra, random number generators,

special functions, FFT, quaternions, differential equations,

integration, interpolation

http://www.matpack.de/

 

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

http://www.mathtools.com

 

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

http://linal.sourceforge.net/

 

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

http://www.equi4.com/metakit/

 

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)

http://www.fftw.org

 

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://root.cern.ch/

 

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)

http://www.nr.com/

 

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.

http://www.charmedquark.com/

 

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

http://lancet.mit.edu/ga/

 

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.

http://www.orcane.net/sql++/

 

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)

http://www.zib.de/weiser/vtl/

 

JPEG image compression (C code)

http://www.ijg.org/

 

Mathematical expression parser

http://alienorb.com/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

 

 

Compilers

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)

http://egcs.cygnus.com/

 

DJGPP compiler

http://www.delorie.com/djgpp/

 

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

http://www.digitalmars.com

 

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

http://www.openwatcom.org/

 

 

Environment

 

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).

http://www.ntllib.org/upp

 

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

http://www.dscpl.com.au/

 

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++.

http://patriot.net/~jones

 

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++

www.chami.com/html-kit

 

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)

http://www.cppsig.org/

 

C++ SIG of Object Developers Group (ODG), New York City

http://www.objdev.org/news/c.html

 

Association of C & C++ users

http://www.accu.org/

 

C/C++ users' group

http://www.hal9k.com/cug/index.htm

 

Wavelets forum

http://www.ondelette.com/indexen.html

 

 

Conferences

 

Extraordinary C++ conference, Sept 23-26, 2007, Astoria, Oregon

http://www.astoriaseminar.com

 

SIGs conferences

http://www.101com.com/conferences/sigs/

 

List of computer science and mathematics conferences

http://www.netlib.org/confdb/Conferences.html

 

 

Related languages

 

D programming language

http://www.digitalmars.com/d/

 

Java

http://java.sun.com/

 

Eiffel

http://www.eiffel.com

 

 

Online magazines and journals

 

The C++ Source

http://www.artima.com/cppsource/

 

 

Technical reports and papers

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

http://qtj.n3.net/~quinn/

 

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

 

 

Call for papers

 

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)

http://www.josuttis.com/

 

Daveed Vandevoorde (C++ Templates - The Complete Guide)

http://vandevoorde.com/Templates

 

Scott Meyers (also consulting/training services)

http://www.aristeia.com/

 

Ira Pohl

http://www.cse.ucsc.edu/~pohl

 

Steve Heller, author and software engineer

Copies of his books "Who's Afraid of C++?" and

"Optimizing C++" online here.

http://www.steveheller.com/

 

Mark Nelson

http://www.dogma.net/markn

 

Jesse Liberty (also consulting/training services)

http://www.libertyassociates.com

 

Nathan Myers

http://www.cantrip.org/

 

Robert Martin (look at the articles page)

http://www.objectmentor.com/

 

P J Plauger

http://www.tiac.net/users/pjp/

 

Bruce Eckel

(Includes "Thinking in C++ 2nd Edition" online)

http://www.mindview.net/

http://www.eckelobjects.com/

 

 

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

http://www.coyotegulch.com/

 

Herb Sutter (standards, Guru of the week, articles)

http://www.gotw.ca/

 

Ray Lischner (C++ in a Nutshell - forthcoming; draft copy)

http://www.tempest-sw.com/cpp/

 

 

Consulting services

(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)

http://www.centeradv.com

 

 

 

Commercial

See also consulting services

 

IT Job Board: C++ Jobs in Europe

http://www.itjobboard.nl/browse/Browse-C%2B%2B-Jobs/en

 

Microsoft

http://www.microsoft.com/

ftp://ftp.microsoft.com

 

Borland (Inprise?)

http://www.inprise.com/

http://www.borland.com/

See also

http://community.borland.com/

http://www.teamb.com

 

Symantec:

http://www.symantec.com/

 

IBM

http://www.software.ibm.com/

 

DigitalMars (C++ and D compilers)

http://www.digitalmars.com/

 

Engineering Objects International - Peter N Roth

C++ & Delphi Specialists (Class builder)

http://engineeringobjects.com

 

ObjectSpace (class libraries: STL + other toolkits)

http://www.objectspace.com

 

ObjectSoftware: Javadoc-like documentation tool; other development tools

http://www.obsoft.com

 

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

http://www.cygnus.com/

 

Rogue Wave software

http://www.roguewave.com/

 

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.

http://www.scimath.com/

 

Dakota Scientific Software

http://www.scisoft.com/

 

I-Logix (object oriented design, UML, papers on UML etc)

http://www.ilogix.com

 

ObjecTime (real-time object oriented programming)

http://www.objectime.com/

 

Addison-Wesley books (includes descriptions of their C++ books)

http://www.aw.com/cseng/

 

Waite group press

http://www.waite.com/

 

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)

http://www.edg.com

 

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)

http://www.deltalogic.com/

 

Codebase: xBASE compatible database engine for C/C++

http://www.sequiter.com/

 

C++ report (RIP)

http://www.creport.com/

 

Dr Dobbs Journal

http://www.ddj.com

 

C/C++ Users' Journal

http://www.cuj.com

 

Visual C++ dev journal

http://www.vcdj.com/default.asp

 

Template Graphics Software (3D graphics libraries)

http://www.tgs.com/

 

Genitor Corporation (graphical editing environment & other

tools for constructing, documenting, and maintaining C/C++ code)

http://www.genitor.com

 

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.

http://www.pdeportal.com/

 

C++-Class-Libraries (GUI - Scheduling - Planning - Optimization)

http://www.ilog.fr

 

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 

http://www.techxhome.com

 

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

http://www.objectdesign.com

 

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

http://www.jfront.com/rawjava

 

Wessex Scientific and Technical Services - scientific and

engineering software in C++ (& Fortran).

http://wxres.com/

 

Programmer's Helpdesk - C++ and Java help for students by students

http://www.helpmeprogram.com

 

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.

http://www.paradigmasoft.com

 

 

Bookshops

 

People ask where they can mail-order quality C++ books and

here are 6 (out of many) answers.

 

Quantum books

http://www.quantumbooks.com/

 

Amazon.com books - Seattle

http://www.amazon.com/

 

Barnes And Noble

http://barnesandnoble.com/

 

Bookpool. Discounts, on-line catalogue, reviews etc

http://www.bookpool.com

 

Nerdbooks

http://www.nerdbooks.com

 

Powell's books

http://www.powells.com

 

 

C++ news-groups

 

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.de.vc

microsoft.public.es.vc

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/

 

 

Email discussion groups

 

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

   mailto:gen...@atext.com

To ask to be added or removed from the list, send email to

   mailto:genstl-...@atext.com

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

 

LittleBrotherEnglishClub

unread,
May 20, 2015, 4:55:49 AM5/20/15
to littlebrothe...@googlegroups.com, thanan...@gmail.com
Message has been deleted

LittleBrotherEnglishClub

unread,
Apr 14, 2019, 8:07:57 AM4/14/19
to LittleBrotherEnglishClub
Message has been deleted

LittleBrotherEnglishClub

unread,
Apr 28, 2019, 8:47:27 AM4/28/19
to LittleBrotherEnglishClub
A C 11 Threads Tutorial - C & C Programming Blog _ Faye Williams _ Hampshire UK.pdf
A pthreads Tutorial - C & C Programming Blog _ Faye Williams _ Hampshire UK.pdf
!!Effective Modern C++ 11 and 14.pdf
Learn C++ Multi-Threading in 5 Minutes – Hacker Noon.pdf

LittleBrotherEnglishClub

unread,
Apr 28, 2019, 8:48:16 AM4/28/19
to LittleBrotherEnglishClub
Microsoft_ModernCpp.pdf

LittleBrotherEnglishClub

unread,
Jun 9, 2019, 9:45:10 PM6/9/19
to LittleBrotherEnglishClub
Online cpp compiler:

View Assembly code:

View details implementation:
!Cpplambda_4th_april_2019.pdf
Message has been deleted

LittleBrotherEnglishClub

unread,
Jun 9, 2019, 9:53:27 PM6/9/19
to LittleBrotherEnglishClub




https://github.com/isocpp/CppCoreGuidelines


C++ (Core) Coding Guidelines\



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.

Core C++ Guidelines

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:

  • In: Introduction
  • P: Philosophy
  • I: Interfaces
  • F: Functions
  • C: Classes and class hierarchies
  • Enum: Enumerations
  • R: Resource management
  • ES: Expressions and statements
  • E: Error handling
  • Con: Constants and immutability
  • T: Templates and generic programming
  • CP: Concurrency
  • STL: The Standard library
  • SF: Source files
  • CPL: C-style programming
  • PRO: Profiles
  • GSL: Guideline support library
  • FAQ: Answers to frequently asked questions
  • NL: Naming and layout
  • PER: Performance
  • N: Non-Rules and myths
  • RF: References
  • Appendix A: Libraries
  • Appendix B: Modernizing code
  • Appendix C: Discussion

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

Learn from bugs

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:

  1. Don't do the compiler's job
  2. Larger than 0 does not mean 1
  3. Copy once, check twice
  4. Beware of the ?: operator and enclose it in parentheses
  5. Use available tools to analyze your code
  6. Check all the fragments where a pointer is explicitly cast to integer types
  7. Do not call the alloca() function inside loops
  8. Remember that an exception in the destructor is dangerous.
  9. Use the '\0' literal for the terminal null character
  10. Avoid using multiple small #ifdef blocks
  11. Don't try to squeeze as many operations as possible in one line
  12. When using Copy-Paste, be especially careful with the last lines
  13. Table-style formatting
  14. A good compiler and coding style aren't always enough
  15. Start using enum class in your code, if possible
  16. "Look what I can do!" - Unacceptable in programming
  17. Use dedicated functions to clear private data
  18. The knowledge you have, working with one language isn't always applicable to another language
  19. How to properly call one constructor from another
  20. The End-of- file (EOF) check may not be enough
  21. Check that the end-of- file character is reached correctly (EOF)
  22. Do not use #pragma warning(default:X)
  23. Evaluate the string literal length automatically
  24. Override and final identifiers should become your new friends.
  25. Do not compare 'this' to nullptr anymore
  26. Insidious VARIANT_BOOL
  27. Guileful BSTR strings
  28. Avoid using a macro if you can use a simple function
  29. Use a prefix increment operator (++i) in iterators instead of a postfix (i++) operator
  30. Visual C++ and wprintf() function
  31. In C and C++ arrays are not passed by value
  32. Dangerous printf
  33. Never dereference null pointers
  34. Undefined behavior is closer than you think
  35. Adding a new constant to enum don't forget to correct switch operators
  36. If something strange is happening to your PC, check its memory.
  37. Beware of the 'continue' operator inside do {…} while (…)
  38. Use nullptr instead of NULL from now on
  39. Why incorrect code works
  40. Start using static code analysis
  41. Avoid adding a new library to the project.
  42. Don't use function names with "empty"

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 Coding Standard

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:

  • Header Files
  • Scoping
  • Classes
  • Functions
  • Google-Specific Magic
  • Other C++ Features
  • Naming
  • Comments
  • Formatting
  • Exceptions to the Rules
  • Existing Non-conformant CodeWindows Code

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”

Other guidelines

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

www.securecoding.cert.org

Little Bonus:

Books

Blog posts

Summary

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.

  • What coding guideline do you use? Company internal? Or some open guideline?
  • Do you obey the rules from your guideline?
  • Do you use auto format tools?

LittleBrotherEnglishClub

unread,
Oct 29, 2019, 6:29:19 AM10/29/19
to LittleBrotherEnglishClub
!!CPP_When to pass parameters by value, refere - C++ Articles.pdf

LittleBrotherEnglishClub

unread,
Nov 15, 2019, 3:20:01 AM11/15/19
to LittleBrotherEnglishClub
https://amir.rachum.com/blog/2016/09/17/shared-libraries/

Debugging Cheat Sheet

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:

  • Find out what dependencies are missing with ldd <executable>.
  • If you don’t identify them, you can check if they are direct dependencies by running readelf -d <executable> | grep NEEDED.
  • Make sure the dependencies actually exist. Maybe you forgot to compile them or move them to a libs directory?
  • Find out where dependencies are searched by using LD_DEBUG=libs ldd <executable>.
  • If you need to add a directory to the search:
    • Ad-hoc: add the directory to the LD_LIBRARY_PATH environment variable.
    • Baked in the file: add the directory to the executable or shared library’s 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.
  • If ldd shows that no dependencies are missing, see if your application has elevated privileges. If so, ldd might lie. See security concerns above.
Shared Libraries_ Understanding Dynamic Loading.pdf

LittleBrotherEnglishClub

unread,
Nov 15, 2019, 3:37:28 AM11/15/19
to LittleBrotherEnglishClub

LittleBrotherEnglishClub

unread,
Nov 28, 2019, 3:00:10 AM11/28/19
to LittleBrotherEnglishClub
MoreCppIdioms.pdf

LittleBrotherEnglishClub

unread,
Nov 28, 2019, 3:22:44 AM11/28/19
to LittleBrotherEnglishClub
Boost - Smart Pointer Programming Techniques - 1.71.0.pdf

LittleBrotherEnglishClub

unread,
Jan 15, 2020, 9:05:25 PM1/15/20
to LittleBrotherEnglishClub

LittleBrotherEnglishClub

unread,
Feb 3, 2020, 1:27:02 AM2/3/20
to LittleBrotherEnglishClub

LittleBrotherEnglishClub

unread,
Feb 3, 2020, 4:22:41 AM2/3/20
to LittleBrotherEnglishClub

ComputerScienceClub

unread,
Feb 20, 2020, 4:32:26 AM2/20/20
to ComputerScienceClub

ComputerScienceClub

unread,
Mar 12, 2020, 9:52:53 PM3/12/20
to ComputerScienceClub

ComputerScienceClub

unread,
Apr 4, 2020, 4:41:41 AM4/4/20
to ComputerScienceClub

ComputerScienceClub

unread,
Apr 7, 2020, 10:54:42 PM4/7/20
to ComputerScienceClub

ComputerScienceClub

unread,
Apr 27, 2020, 3:48:40 AM4/27/20
to ComputerScienceClub
Basic concept: Internal vs External Linkage (or Same name but different entities vs Same entity)
  • Scope : Scope of an identifier is the part of the program where the identifier may directly be accessible. In C, all identifiers are lexically (or statically) scoped.
  • Linkage : Linkage describes how names can or can not refer to the same entity throughout the whole program or one single translation unit.
    The above sounds similar to Scope, but it is not so. To understand what the above means, let us dig deeper into the compilation process.
  • Translation Unit : A translation unit is a file containing source code, header files and other dependencies. All of these sources are grouped together in a file for they are used to produce one single executable object. It is important to link the sources together in a meaningful way. For example, the compiler should know that 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.

ComputerScienceClub

unread,
May 26, 2020, 12:01:18 AM5/26/20
to ComputerScienceClub

ComputerScienceClub

unread,
May 27, 2020, 12:30:18 AM5/27/20
to ComputerScienceClub
Rvalue Reference Declarator_ && _ Microsoft Docs.pdf

ComputerScienceClub

unread,
Apr 11, 2021, 10:56:41 PM4/11/21
to ComputerScienceClub

ComputerScienceClub

unread,
Apr 28, 2021, 10:26:31 PM4/28/21
to ComputerScienceClub

ComputerScienceClub

unread,
May 10, 2021, 11:52:29 PM5/10/21
to ComputerScienceClub

ComputerScienceClub

unread,
May 24, 2021, 11:03:22 PM5/24/21
to ComputerScienceClub

ComputerScienceClub

unread,
Sep 22, 2021, 2:53:18 AM9/22/21
to ComputerScienceClub

ComputerScienceClub

unread,
Oct 17, 2021, 11:32:56 PM10/17/21
to ComputerScienceClub

ComputerScienceClub

unread,
Nov 11, 2021, 2:07:05 AM11/11/21
to ComputerScienceClub
Reply all
Reply to author
Forward
0 new messages