Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
C/C++ 2000: GNU For Intermediate Students
Rating: 3.5 out of 5(9 ratings)
6,856 students

C/C++ 2000: GNU For Intermediate Students

The C/C++ Transition
Last updated 7/2023
English
English [Auto],

What you'll learn

  • Manage Polymorphic Relationships
  • Use GNU program creation & maintenance tools
  • Manage the debugging process

Course content

7 sections63 lectures7h 12m total length
  • Introduction1:21

    Explore a new toolset for creating and compiling C and C++ applications across platforms, including make files, the C++ compiler, and graphical and console debugging tools.

  • GNU Make - Intorduction & Overview2:30

    Explore GNU make fundamentals and Makefiles, cross-platform workflows on Windows and POSIX systems, and build simple C++ programs while managing libraries, installation, testing, and execution.

  • Platforms & Rules8:18

    Explore the GNU make workflow, including targets, dependencies, and rules, and learn how dates and time stamps trigger builds across POSIX, Unix, Linux, and Windows environments.

  • Make Targets4:29

    Explore how make and makefiles manage targets, dependencies, and rules to build a C++ application, using macros, a cc line, and a tabbed command syntax for reliable builds.

  • The C/C++ Command-Line Tooling3:47

    Review how the make process compiles main.cpp to main.o, links with libraries to form an executable, and uses the -o option to name it main.run while tracking dependencies.

  • External CLI5:42

    Explore how Makefiles execute shell commands across POSIX and Windows environments, using bash-like operators, built-in commands, and return codes to control builds.

  • More C/C++ Command Options3:28

    Master advanced gnu c++ command options, including -c or -o for compilation and output, -g for debugging, -I and -L for search paths, and -l for linking libraries.

  • The ERA Namespace5:55

    Learn how to read and use makefiles with targets like all, clean, and install, guided by the era namespace project and its library-less object linking, plus cross-platform notes.

  • Library Creation8:10

    Learn how to create libraries using makefiles and the ar archiver, combine object files into static (.a) and dynamic (.so) archives, and link them to applications for efficient sharing.

  • GNU Debugging9:45

    Learn to enable debugging symbols with -g, use gdb or x gdb (GDP) for graphical debugging, set breakpoints, inspect stack frames, print variables, and navigate frames.

  • Enabling 'Make Debug'6:15

    Enable debugging with GNU make by adding the g option to include symbols for gdb, then run tests, set breakpoints, inspect variables, and control execution with continue, next, and finish.

Requirements

  • Must understand the C programming language
  • Must have installed the GNU C/C++ Tool Set

Description

C/C++ 2000: GNU For Intermediate Students will review the key language-centric concepts modern C/C++ professionals will need to be aware of. Building upon the concepts presented in GNU C/C++ 1000, students should be familiar with the complete keyword set as presently defined by the modern standard for C programmers.


Classics Matter!

Writing C/C++ for decades I believe students need to also know how to work with those huge legacy code bases? Never soon to be updated, if it isn't broken then we should understand why many will want us to work with those classic standards!

Rollings Review
If C and / or C++ are new to you, we start our with a review of the core concepts. I think you'll appreciate the review, as well as the additional extended topics that we're going to be presenting in this 2000 level - or intermediate C/C++ educational opportunity. If you are familiar with C and basic C++ then you will also feel confident jumping right into this intermediate, 2000 level, lesson set.


Note also that we will be talking about a state machine and revisiting many concepts that were presented in the C/C++ 1000 series.


Additional Learning 'Ops

The reason why I like to present a concept more than once and in several different ways is as to make sure people understand the key concepts that are required for topical mastery. No practice, no glory?


So I hope you'll enjoy the review and if you didn't take C++ 1000 you might want to enroll in the beginning programming lessons as well.

Who this course is for:

  • Students who need to understanc how classes work in Modern C/C++
  • Software developers who are looking to manage GNU Makefiles
  • Students who want to learn how to created static & dynamic libraries
  • Learners needing addition practice using the GNU compiler tool chain