
install and configure the GNU toolchain on Windows with cygwin or mingw, enabling gcc and g++ across Linux and Windows, and integrate with Visual Studio.
Learn variables, initialization, and memory concepts in C and C++, explore global and local scope, and master printf formatting, pointers, and basic data types through hands-on examples.
Explore the GNU toolchain and how linking enables debugging by integrating the preprocessor, compiler, and linker, and by embedding debugging symbols. Name executables with -o and manage object files.
Learn how to manage file paths and headers across Windows and posix, using absolute and relative paths, avoiding changes to existing headers, and PATH-aware tools with gcc and cygwin.
Explore how command line arguments are passed in C and C++ across Windows and Linux, using argc and argv, and learn differences in main signatures, path limits, and cross-platform testing.
Compare Windows and POSIX command line conventions, options, and argument handling; explain raw versus cooked input, and demonstrate refactoring a calculator to process multiplication, division, and parameters.
Learn how boolean values and integral representations drive if/else logic in C and C++, including true, false, zero and non-zero, and the evolution of the bool type.
Delve into pointer and addressable concepts in C and C++, including goto usage, integral types, and zero-terminated arrays. Learn evaluation order, null handling, and format specifiers like %c and %d.
Learn how enumerations consolidate integral constants into a new type in C and C++, using a z year to represent months 0 to 11, with prototypes, casting, and header-implementation organization.
C/C++ 1000: GNU For Beginners is about creating C++ application on Linux, AIX, MacOS and other POSIX-inspired operating systems. Using Cygwin and Windows Sub-System for Linux (WSL) even students working on Microsoft Windows can begin to master the Linux / Unix programming world!
Standardized since 1998, Modern C and C++ share a rich & common legacy. Often called upon to work with legacy code, modern C/C++ software developers are more likely to encounter older, rather than newer, software. C/C++ 1000: GNU For Beginners is designed for students who will need to be able to detect the difference between the standards.
Part of a three (3) part series, GNU C/C++ For Beginners begins by covering what every new software developer should know. Starting out by focusing upon basic compiler concepts, our keyword-centric approach ensures that no concept will be left behind!
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 Will I Learn?
Using the cross-platform, time-proven GNU tool set, understanding how products such as Cygwin can be used to create standards-compliant, portable software also allows students working on Microsoft Windows to begin to master the Linux / Unix programming world. Covering control flows, functions, pseudo functions, structures, typedefs, argument processing, unions, and even state machines will prepare new students for the GNU C/C++ 2000 training opportunity.