cencode encodes a stream or a file into quoted c-string escape sequences, suitable for use directly in C code. It is a universal alternative to dedicated export formats like XPM, unportable resource forks, linker flags, and Windows resources where dynamic loading of external data is not possible or undesired.
Ccide reads C, C++, BASIC, or bash source code containing embedded decision tables from stdin, expands the tables, copies the remaining statements, and forms a compilable C or C++ source module, executable bash script, or interpretable BASIC program. Erratic side effects are avoided by evaluating all condition expressions at exactly the same time, and by performing all evaluations and actions in the original sequence.
Stunnix CXX-Obfus is a code obfuscator for C and C++ source code. It converts source code into highly a mangled form, making it extremely difficult for competitors or customers to study, analyze, reuse, and re-work, while fully retaining functionality of the original code. It has many options to control all aspects of code hiding, and has full support for all syntax constructs. It is designed for multi-file projects with mixed C and C++ source and arbitrary heavy use of the C preprocessor. It includes advanced tools to exclude API symbols from mangling.
The DObject Library C++ is a Java-like library that acts as a bridge between the C++ and the Java worlds. It offers a wide range of the Java facilities without losing the power of C++. It offers naming convention that is similar to the Java language, smart pointers emulating Java references, and classes emulating Java arrays.
Doublecpp is a preprocessor for C++ that handles a new linguistic construct for defining branches of a multi-method. The "right" branch of such a method will be selected dynamically at run-time according to the actual type of the object on which the method is invoked, and to the actual type of the first argument: double dispatch. This basically implements dynamic overloading in C++.
h2incn tries to directly convert C/C++ headers to Nasm-style include files, and can be used in a makefile. It is useful if you want to use the same structures or external variable declarations in C and assembler code, and you don't want to use two separate files and update both each time you change something. It is written in a mix of C and C++ code. It currently works for simple files.
prtpacker (Portable Resource Tree Packer, pronounced PIRT-Packer) is a tool for creating C or C++ source code from external program resources such as images, text, or data. These resources can be arranged in a tree structure much like a typical file system. After compiling and linking the resulting source code you can access the resource tree from within your software through a simple API. Be aware that all resources stay in memory and cannot be easily deallocated.