Tools    for    C/C++    Development    Projects

  1. Introduction

    Developing Software is not only a question of mastering a language syntax. Developers must also be acquainted with a variety of tools accomplishing different tasks along the process. Within a given project, the set of all tools used is mostly referred to as the tool chain. Examples of tools/tasks are listed below:

    • Code Editing: In most cases, an IDE (Integrated Development Environment) provides following facilities: a Source Code Editor, Build Automation and a Debugger.

    • Code Editing: Normally, the IDE itself or third parties provide additional classes, frameworks, libraries, API, that extend the coding realm far beyond the initial capabilities of the language kernel. A good example of such an extension is the Qt framework that allows developers to write GUI in C++ without bothering with low level coding of graphic items. They can better focus on the data model to be graphically represented.

    • Software Documentation

    • Document Management - among others Codes, Requirement Data Base, Test Reports including Coverage and Statistics.

    • Requirements and Changes Management

    There are plenty of (open source) tools available, more or less powerful and easy to use. Below, I will discuss tools that I use myself especially in Internal Proj.. I will also take the opportunity to comment on development tasks, if necessary.

  2. Git

    Keywords: Document Management, Version Control, Distributed Software Development.

    For more information, see Khelil.de: Git

  3. MacPorts

    Keywords: Installing and maintaining open source software (packages).

    Most of the tools that I have been using in my implementation projects are open source. MacPorts used to be a rather convenient tool to ensure that their latest versions has been downloaded. Beware: Only available on OS X systems. For more information, see Khelil.de: MacPorts

    Quick Updates:
    1. Around 2020-09 it appeared that MacPorts had ceased to be properly maintained. Alternative package administration tools on OS X have been available since, especially Homebrew.
    2. For a couple of years I have mainly been working on Linux systems that support several maintenance programs - see also Khelil: Linux packaging systems.
  4. Qt

    Keywords: IDE, Multi-platform Deployment of C++ Programs, gui-Applcations.

    For more information, see Khelil.de: Qt