Botan is a crypto library written in C++. It provides a variety of cryptographic algorithms, including common ones such as AES, MD5, SHA, HMAC, RSA, Diffie-Hellman, DSA, and ECDSA, as well as many others that are more obscure or specialized. It also offers SSL/TLS (client and server), X.509v3 certificates and CRLs, and PKCS #10 certificate requests. A message processing system that uses a filter/pipeline metaphor allows for many common cryptographic tasks to be completed with just a few lines of code. Assembly and SIMD optimizations for common CPUs offers speedups for critical algorithms like AES and SHA-1.
libCVD is a very portable and high performance C++ library for computer vision, image, and video processing. The emphasis is on providing simple and efficient image and video handling and high quality implementations of common low-level image processing function. The library is designed in a loosely-coupled manner, so that parts can be used easily in isolation if the whole library is not required. The video grabbing module provides a simple, uniform interface for videos from a variety of sources (live and recorded) and allows easy access to the raw pixel data. Likewise, the image loading/saving module provides simple, uniform interfaces for loading and saving images from bitmaps to 64 bit per channel RGBA images. The image processing routines can be applied easily to images and video, and accelerated versions exist for platforms supporting SSE.
smake is a highly portable 'make' program that makes commands up to date based on rules in Makefiles and on the timestamps of the related files. It implements a complete superset of the features of the classical POSIX/Unix make program. It warns about typical misuse of dynamic macros that prevent portability of makefiles. Its automake features allow you to run scripts to automatically create rules for unknown platforms.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.