The persistent storage system is developed on the Linux operating system version 2.0.29 with GNU C/C++ Compiler version 2.7.2.1. The platform is an IBM compatible personal computer with Intel Pentium Processor 166MHz. The GNU libg++ library is also required for the compilation.
The dependencies on the operating system are the POSIX standard mmap() system call, the low-level I/O system calls, and the linear 32-bit logical address space.
There are a few GNU G++ specific features in the sources. One is the mechanism of the #pragma interface and the #pragma implementation directives. They are for generating real machine codes and objects in a specific object file and prevent the duplication of objects. Therefore, this is not essential for the porting of the persistent storage to other compilers.
Another feature lies in the generation of inline functions. The compiler option -fno-default-inline causes the compiler to generate only the explicitly declared inline functions. This is not essential for the porting, either. In addition, the inline functions are not generated without the -O3 optimization option.
The exception handling mechanism through the try, throw, and catch keywords are not fully implemented in the current version of the GNU C++ and not implemented in the persistent storage.