The GNU Programmer’s Primer

13 Apr , 2018  

  • Students must be able to start & exit a “command line” or “console” user interface.
  • Students should be able to run GNU’s `make` from a `bash` shell, or from Cygwin.
  • GNU’s C++ Tool Set must also be installed.

No matter if we are creating new software or building legacy applications, understanding how to leverage GNU’s classic tool-set to manage content creation activities is a highly sought-after skill set.

The de-facto standard in building everything from operating systems to millions of Open-Source Projects, these lessons begin by reviewing how to both create, as well as to use `Makefiles.`

Demonstrating how to compile, link & test a basic C++ program, the training will also cover the most common set of g++ / c++ operations. Students will create a C++ application, related Makefile, as well as library. GNU’s basic compiler, linker, and program-creation process, artifacts, and naming conventions will be reviewed.

Because GNU’s debugger is important to understand, the operation of both gdb, as well as the graphical xxgdb tools will be explored. Demonstrating how to both include, as well as remove, source code & symbols from your application is also presented.

Finally, students will also learn what `name mangling` is, as well as how to use GNU’s tool-set to decipher “decorated” classes and function names.

Who is the target audience?
  • First-time C/C++ software developers on Linux, macOS, or Cygwin on Microsoft Windows.
  • New software professionals who are interested in learning how to make static and dynamic libraries.
  • Students who have never used the classic GNU “MAKE,” “LINK,” “GPP,” and / or related produce suite