- Introduction & Overview
- Makefile Concepts
- Making C++
- The Program Compilation Process
- Basic System Signals & Make Integration
- More C++ Options
- Library Creation & Management
- C/C++ Logging
- Graphical GNU Debugging
- GNU Console Debugging
- Handy Options & Resources
What you'll learn
- Understand how to use GNU `make` to manage common software development activities.
- Learn the "critical path" options most frequently required to build C++ applications.
- Use GNU's `dbg` and `xxgdb` tools 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 `make` uses rules, dependencies, recipes, and macros to create software.
- Learn how to include, inspect, and remove source code from your debugging sessions.
Description
In our increasingly competitive marketplace, software developers often need to demonstrate superior software development expertise. In a world full of software development choices, discovering how to create high-performance software also remains an increasingly important part of what every software developer needs to understand.
Why GNU Make?
When it comes to creating vendor-independent soft-wares, the "GNU's Not Linux" (or `GNU`) `Make` and `Makefile` team remain the most popular go-to technologies. Like many, I've used GNU to reliably re-make projects that have been building for decades. -Well after other tools fail to 'make things' like they did once, GNU's Make and other tools continue to 'just work.' Guaranteed.
Make Many!
Unsurprisingly then, no matter if we are creating new software or re-building legacy applications, understanding how to use a Makefile to manage just about any creation activity is a highly sought-after skill set. From dynamically creating documents, websites as well as software, the first step in creating blazingly fast software very often requires using Make!
Why C/C++?
Yet another forever go-to technology, discovering how to create high-performance software often involves using some part - if not all - of the C/C++ programming standard. Not only does every operating system rely upon some part of the C/C++ standardization effort, but every modern, popular operating system supports both C/C++ as well as the GNU Tool-set. -Almost all other programming languages also support, if not directly rely upon the free & open C/C++ community!
From popular applications, robotics, and operating systems to the Cloud itself then at some point in time everything relies upon software written in C/C++.
What Else Will I Learn?
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.
Bug Busting
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.
Symbols
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.
You'll also enjoy practicing what you have learned by completing many hands-on activities!
And yes, you will understand all of this - and more - in less than a video-hour!
Other Courses
How to Create Your First Online Course in 28 Days For Free
Launch your first course, build student traffic and grow your teaching brand in 28 days, using the Learnyst Free plan
Practical and effective Time Management techniques
Simple and effective time management techniques and strategies to increase the productively exponentially
Creating Blogs That Your Audience Loves To Read
Learn how to create, structure, and optimise a blog post
About the instructors
- 3.8 Calificación
- 51887 Estudiantes
- 34 Cursos
Randall Nagy
Software Engineer & Educator
Randall Nagy is a tenured "hands-on" manager, software development engineer, author, and designer / architect. Mr. Nagy has served as a Principal Software Development Engineer at Informix (a major database company acquired by IBM,) Technical Section Leader at the US Army's Electronic Proving Ground (EPG/DTC) as well as the Principal Trainer for Borland Software Corporation.
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 Visual Basic), Modern COBOL, LAMP, SQL, Hadoop, 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!"
Student feedback
Course Rating
Reviews
Very basic info. could have been more informative if it contains debugging makefile for errors
The lecturer presents the material very nicely. The information is very useful.