Resources for software development
Software development tools:
Solutions to some common problems:
Software packages and libraries:
- Introduction to GNU Compiler Collection (gcc)
Easy to understand introduction for the gcc compiler. Highly recommended for beginners.
- GNU Compiler Collection (gcc)
Manual for for GNU Compiler Collection. GCC is used for all projects in the SimOpt group.
- GNU debugger manual.
The GNU debugger is command-line oriented tool for detecting bugs in your code. There are also GUIs available.
Subversion is a version control system used for all projects of the SimOpt group.
Doxygen is a powerful tool for generating documentations directly from your source code. It is used in most projects of the SimOpt group.
Valgrind is tool to detect all kinds of memory-related problems and bugs in software.
CMake is a platform independend build and installation tool used in most projects of the SimOpt group. CTest is a tool for automatic testing of software.
- MinGW and MSYS
MinGW is a port of the GNU compiler collection to Windows. MSYS is a port of the bash command shell to Windows. Together they provide a Linux-like environment that makes it possible to run MUSCOD-II under Windows 2000 / XP / Vista.
- Eclipse and CDT
Eclipse is an open-source GUI for software development. Originally intended for Java only, Eclipse now also supports C and C++ through the CDT toolkit.
Useful features include syntax highlighting, ctags-like functionality, a GUI to the gdb debugger, automatic subversion support, and much more.
Other useful stuff:
- Home of the Boost project
Boost provides free peer-reviewed portable C++ source libraries. There are tools for text processing, containers, iterators and algorithms,
function objects and higher-order programming, generic programming, template metaprogramming, numerics, testing, memory, parsing,
- SOLVIND - the SOLver suite with IND
A great ODE/DAE integrator package from our group members Christian Kirches and Jan Albersmeyer for solving initial-value problems. Contains
the BDF method DAESOL-II as well as the RKFSWT collection of Runge-Kutta-like methods, and provides a common interface to them.
Feature include: forward/adjoint sensitivities, second-order sensitivites, implicit discontinuities, support of analytic/finite-difference/ADOL-C/dense/sparse derivatives, object-oriented design.
- Third-party libraries in our subversion repository
In our local subversion repository you'll find -- besides software of our own -- the following third-party software packages and libraries for your convenience: Boost (Windows), ADOL-C, ADIFOR, LAPACK, LIBLAC, NAG (mark 18), HSL, UMFPACK.