The GNU Programmer's Primer
- 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 this course is for:
- 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.
- Software professionals interested in creating common variables, targets, and other "Recipe" coventions for GNU Make.
- 02:30Introduction & Overview
- 08:18Makefile Concepts
- 04:29Making C++
- 03:47The Program Compilation Process
- 05:42Basic System Signals & Make Integration
- 03:28More C++ Options
- 08:10Library Creation & Management
- 05:55C/C++ Logging
- 09:45Graphical GNU Debugging
- 04:17GNU Console Debugging
- 01:57Handy Options & Resources
Randall Nagy is a tenured "hands-on" software development engineer, author, and software designer / architect. He has served as both a Principal Software Development Engineer at Informix (a major database company acquired by IBM,) as well as the Principal Trainer for Borland.
Mr. Nagy's "Linked In" recommendations testify to a 30+ year track record of excellent personal communication skills, design & analysis abilities, as well as superior consulting, coding, & training results.
Though tenured, Mr. Nagy is most often described as being authoritatively technical, yet very personable & easy to get along with.
The author of over 30 on-line Udemy titles and 50+ open source projects, Mr. Nagy's hands-on experience includes topics such as C/C++, Python, MicroPython, AWS, OAuth 2.o, SO / SOA, Security, Testing, UML, Java/JEE, .NET (C# and VB.NET), LAMP, SQL, Hadoop, jQuery, PHP, HTML 5, Android, OOA/OOD, UML, DoDAF and more. Maintaining techniques in embedded engineering, Mr. Nagy has experience creating custom training for such expert-level, high-performance technologies as Modern C/C++, Apache Spark, and IBM Rhapsody.
Technically speaking, "... from the best Service-Oriented practices to embedded engineering, I maintain an extensive hands-on skill set. I have both designed and personally implemented architectures from the client to the server, well into the RFC Layer.
From writing for BYTE Magazine to books on Amazon, I have helped thousands of students master tough technical concepts. I hope you will like our training!"