Resources
Books that we've found useful:
- C++
for C Programmers, 3rd Edition by
Ira Pohl.
(There is Example Code at the above address, but there are some issues with it.) - The C++ Programming Language by Bjarne Stroustrup.
- The C Programming Language by Kernighan & Ritchie.
- Design Patterns by Gamma, Helm, Johnson, & Vlissides.
Web Sites that we've found interesting: Some Pages by Bjarne Stroustrup
- His personal page (http://www.research.att.com/~bs/)
- Post to comp.lang.c++ on learning C++ (http://www.research.att.com/~bs/learn.html)
- Paper in the May 1999 issue of C/C++ Users Journal (http://www.research.att.com/~bs/new_learning.pdf)
- Association of C & C++ Users
- http://members.tripod.com/avinashs/cppref.html
- http://www.cyberdiem.com/vin/learn.html
- http://www.cs.wustl.edu/~schmidt/C++/
- http://webnz.com/robert/cpp_site.html
- http://www.accu.org/resources/public/terse/cpp.htm
- http://www.austinlinks.com/CPlusPlus/
- C++ language standard definition (ISO/ANSI C++ "Draft") (http://www.cygnus.com/misc/wp/)
- A very useful C++ command line argument parser called CmdLine
- An improved, standards compliant C++ command line argument parser library, commandl
- Standard Template Library Programmer's Guide @ SGI
- STL class definition site (http://www.dinkumware.com/htm_cpl/index.html)
- C++ Boost Site
(http://www.boost.org)
The C++ Boost site "provides free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ Standard Library." - STLport
(http://www.stlport.org)
STLport is a multiplatform ANSI C++ Standard Library implementation. It is free, open-source product, featuring the following: (1)Advanced techniques and optimizations for maximum efficiency. (2) Exception safety and thread safety (3)Important extensions - hash tables, singly-linked list, rope.
- glade http://glade.pn.org
gtk+ user interface builder. Glade is a free user interface builder for GTK+ and Gnome. It is released under the GNU General Public License (GPL). Glade can produce C source code itself. C++, Ada95, Python & Perl support is also available, via external tools which process the XML interface description files output by Glade. - gtk+ http://www.gtk.org
(also avaialbe via GNU)
GTK+ is an Open Source Free Software GUI Toolkit, primarily developed for use with the X Window System. Everything about GTK+ from the object-oriented design to the Free Software LGPL licensing allows you to code your project with the most freedom possible. - gtk-- http://gtkmm.sourceforge.net
Gtk-- is a C++ interface for popular GUI library gtk+. Gtk-- provides convenient interface for C++ programmers to create graphical user interfaces with Gtk's flexible OO framework. Highlights include type safe callbacks, widgets extensible using inheritance and over 180 classes that can be freely combined to quickly create complex user interfaces. Gtk-- is free software distributed under GNU Library General Public License(LGPL). - libsigc++ http://libsigc.sourceforge.net
This library implements a full callback system for use in widget libraries, abstract interfaces, and general programming. Originally part of the Gtk-- widget set, libsigc++ is now a seperate library to provide for more general use. It is the most complete library of its kind with the ablity to connect an abstract callback to a class method, function, or function object. It contains adaptor classes for connection of dissimilar callbacks and has an ease of use unmatched by other C++ callback libraries. Libsigc++ is licensed under the GNU Library General Public License, LGPL. - glade-- (a.k.a. glademm)
http://home.wtal.de/petig/
Converts Glade output to C++ for use with the gtk-- bindings. (There is also gladecc which produces a different style of C++ output.) - gnome-libs http://www.gnome.org
Primarily for gnome-libs. But you'll also need: libpng, zlib, libjpeg, libtiff, libungif, xpm, DB, Imlib, ORBit - GNU http://www.gnu.org gmake, automake, autoconf, libtool, gettext, bison, flex, glib (I'm not sure if this is from GNU)
- ImageLib
http://www.dip.ee.uct.ac.za/~brendt/srcdist/
ImageLib is a C++ class library providing image processing and related facilities. The main set of classes provides a variety of image and vector types, with additional modules supporting scalar and vector quantisation, wavelet transforms, and simple histogram operations. - paintlib
http://www.paintlib.de/paintlib/
paintlib is a portable C++ class library for image manipulation. Images can be loaded from PNG, TGA, TIFF, JPEG, BMP, PCX and PICT files and saved in TIFF and JPEG formats. Image manipulation can be done either through filters implemented in filter classes or by directly accessing the bitmap bits. Full C++ source is provided. - Image Processing in Java
http://www.docjava.com/book/ipij.html
This book ["Image Processing in Java", Douglas Lyon] presents various algorithms used for the implementation of image processing programs in Java. Chapter 2 provides information about event processing and it is central to the understanding of the event processing program used in the book code (called Kahindu). Chapter 3 gives the basics for image display and processing within the Kahindu program. - Java Advanced Imaging API
http://www.javasoft.com/products/java-media/jai/index.html
The Java Advanced Imaging API goes beyond the functionality of traditional imaging APIs to provide a high-performance, platform-independent and extensible image processing framework. -
http://nanophysics.phy.queensu.ca/image.html
C++ IMAGE CLASS: C++ Image class for image capture and image manipulation. It is a simple collection of method functions for image processing. - CppIma
http://www.ph.tn.tudelft.nl/~klamer/cppima/ima_toc.html
CppIma: a C++ image processing library. The C++ image CppIma library is a way to provide an interface from C++ to common operations on images. -
http://www.cs.ucf.edu/~aw47967/reu99/watashi/image-classes.zip
(under http://www.cs.ucf.edu/~vision/reu99/profile-awu.html)
C++ Image classes. Provides a binary/ASCII (color image) PPM class and an ASCII PBM (binary image) class. -
http://www.remotesensing.org/docs/limp-ht/images.html#images
(under http://www.remotesensing.org/docs/limp-ht/)
The Image class provides the basic information associated with an image, but it doesn't produce or process the data itself. Data processing and production are done in image layers. - IUE
http://www.aai.com/AAI/IUE/IUE.html
The IUE is a public domain, comprehensive software environment for performing advanced research in Image Understanding (IU). The primary goal of the IUE is to promote research productivity and to facilitate the exchange of research results among IU researchers. To this end, the IUE provides: an extensive C++ class hierarchy for representing a wide range of objects, images, image features, and processes; a well-documented, modular, standard object-oriented interface implementation of established IU algorithms; the ability to exploit and coordinate the processing power of exitsing IU tools and systems. The IUE is available from AAI without cost. - VTK
http://www.kitware.com/vtk.html
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. VTK includes a textbook published by Prentice-Hall (The Visualization Toolkit, An Object-Oriented Approach To 3D Graphics, 2nd edition" ISBN 0-13-954694-4 ), a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK has been implemented on nearly every Unix-based platform and PC's (Windows NT and Windows95). The design and implementation of the library has been strongly influenced by object-oriented principles. - VisAD
VisAD http://www.ssec.wisc.edu/~billh/visad.html
VisAD is a Java component library for interactive and collaborative visualization and analysis of numerical data. The name VisAD is an acronym for "Visualization for Algorithm Development". The system combines [e.g.]: A general mathematical data model that can be adapted to virtually any numerical data, that supports data sharing among different users, different data sources and different scientific disciplines, and that provides transparent access to data independent of storage format and location (i.e., memory, disk or remote). The data model has been adapted to netCDF, HDF-5, FITS, HDF-EOS, McIDAS, Vis5D, GIF and JPEG file formats.
SCCS Resources
- The Sun AnswerBook which contains a chapter on SCCS in its Programming Utilities Guide (This is served from PIRL). There's actually quite a bit of material here that includes the commands, explanations of what they do, as well as use descriptions and scenarios. It's quite a complete source!
- IBM has what appears to be a similar on-line book for Wrting and Debugging Programs with a chapter on SCCS.
- The Albuquerque High Performance Computing Center has a simple, straightforward, and very useful step-by-step guide for using SCCS.
- The University of Texas has a text page with "An Introduction to the Source Code Control System". This is coupled with a succinct "SCCS guide" table of SCCS commands with their description and usage.
- There's a page at Cornell of A Short History of Revision Control. Nothing "useful", just an interesting little look at the progressing from SCCS through RCS to CVS with pithy comments along the way.
- The CVS site contains a page about SCCS. There are further references from there, however most of them don't go anywhere useful or are cylic (! you'll get the pun if you visit the site).
CVS Resources
- CVS Home is the main CVS page out there, and has the complete CVS manual online in a very readable and accessible format. In addition any links that I could place here are already available under the Documentation section at the CVS Home site that has topics on learning about CVS and a FAQ.
- LPL's Guy McArthur gave a CVS presentation, and has placed his slides on the web.