Skip to Main Content
Module management support is very rough in the C and C++ programming languages. Modules must be separated in interface and implementation files, which will store declarations and definitions, respectively. Ultimately, only text substitution tools are available, by means of the C/C++ preprocessor, which is able to insert an interface file in a given point of a translation unit. This way of managing modules does not take into account aspects like duplicated inclusions, or proper separation of declarations and definitions, just to name a few. While the seasoned programmer will find this characteristic of the language annoying and error-prone, students will find it not less than challenging. In this document, a tool specially designed for improving the support of modules in C++ is presented. Its main advantage is that it makes it easier to manage large, module-based projects, while still allowing to use classic translation units. This tool is designed for students who have to learn modular programming; not only those in the computer science discipline, but also those in other engineerings in which programming is part of the curriculum.