The GNU Programmer's Primer
- Life Time Access
- Certificate on Completion
- Access on Android and iOS App
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.
- Students must be able to start & exit a "command line" or "console" user interface
- Students should be able to run GNU's
makefrom a `bash` shell, or from Cygwin
- GNU's C++ Tool Set must also be installed
- Understand how to use GNU
maketo manage common software development activities
- Learn the "critical path" options most frequently required to build C++ applications
- Use GNU's
xxgdbtools to perform stack-based debugging
- Create libraries designed to be shared between multiple C++ applications
- Understand the difference between static & dynamic library types
- Discover how GNU's
makeuses rules, dependencies, recipes, and macros to create software
- Learn how to include, inspect, and remove source code from your debugging sessions
Complete an introductory "Make" activity that requires no C/C++ programming.
Discover what GNU is, as well how to run GNU's tools on Window, Linux, and OS X. Learn what `make` is, as well as the key artifacts required & naming conventions required. Understand how to write a basic makefile "rule," how rules operate, as well as what a programmer's "delta" is.
Discover the difference between external & internal programs. Review the operation of command "shells," as well as how to use basic
bashoperations to combine command-line operations. Learn how to execute alternative commands based upon previous command success or failure. Discover how to update a Makefile so as to create a test case that can terminate any
Review the most common set of command-line options used to manage the creation of C++ applications. Understand the peculiar library-naming conventions used to link GNU libraries into our applications. Discover how to enable and / or remove warnings., as well as the common macros often used to manage the C/C++ software creation process.
Review how to add classic line-logging to any operating environment. Learn how to make the "era Namespace," as well as how to create specific targets by using command-line targets. Review the most common "best practice" targets, as well as how to clean-up after Makefile activities.
Apply what we have learned while reviewing an actual gdb console debugging session. See how to set & remove breakpoints, temporary breakpoints, inspect variables, step over "stack frames," as well as return to a calling context.
Update the Makefile so as to add debugging symbols. Discover how start a debugging session, inspect stack frames, as well as how to manage an "inferior session."
Learn how to strip source code / symbols after debugging has been completed.
From 0 to 1: Hive for Processing Big DataLoony Corn