Reasons to Migrate
Apart from H2SDL being obsolete, there are several reasons to migrate from H2SDL to CPP2SDL:
- CPP2SDL has superior language support. Not only does it support C++, but it also covers a larger set of the C language.
- CPP2SDL allows the user to configure the translation from C/C++ to SDL by means of import specifications. This is a technique which often cuts the build time significantly, when large APIs are interfaced from SDL.
- With H2SDL, the user often has to edit input header files, to make them suitable for translation. This need is significantly reduced with CPP2SDL, since the import specification mechanism lets the user configure the translation of each C/C++ declaration individually.
- Translation rules implemented by CPP2SDL are considerably improved, compared to the ones implemented by H2SDL. These improvements are due to the implementation of language extensions oriented towards SDL2000.
- CPP2SDL has an improved reference generator, allowing more precise analysis.
- The SDL package generated by H2SDL may only be used at system level, while the SDL declarations generated by CPP2SDL may be injected at any level in the SDL hierarchy. This is possible by means of a new SDL-PR symbol in the SDL Editor.
- CPP2SDL supports a wider range of preprocessors and compilers to be used for preprocessing input header files.
- CPP2SDL is built with state-of-the-art compiler technology on top of a commercial C/C++ parser. This provides for rapid incorporation of future extensions to C/C++.