C++

Featured image for C-language topics.
Article

Printf-style debugging using GDB, Part 1

Kevin Buettner

You can use the GDB debugger to understand program behavior without any source code changes. In Part 1, learn how to run virtual print statements.

Featured image for: Automating the testing process for SystemTap, Part 1: Test automation with libvirt and Buildbot.
Article

Explore new features in SystemTap 4.5.0

Stan Cox

SystemTap allows access to low-level Linux kernel features. Explore enhancements to context variables, alias syntax, and BPF features in version 4.5.0.

Featured image for: Value range propagation in GCC with Project Ranger.
Article

Porting your code to C++17 with GCC 11

Marek Polacek

C++17 is now the default version in the GNU Compiler Collection. Find out what you need to know when updating your code to C++17 with GCC 11.

Featured image for SystemTap topics.
Article

Opening black boxes with statement tracing

Frank Eigler

Do you need a quick way to solve bugs in foreign library code? Learn how to use SystemTap for statement tracing and differential analysis in any library.

Featured image for: Instant replay: Debugging C and C++ programs with rr.
Article

How to debug C and C++ programs with rr

William Cohen

Learn how you can go back in time and replay what went wrong in a C/C++ program with rr (a GNU Debugger Linux enhancement) in this short demo.

Featured image for: Report from the virtual ISO C++ meetings in 2020 (core language).
Article

New C++ features in GCC 10

Marek Polacek

Explore the front end-based C++ features that C++ application programmers care most about in GCC 10.1 (G++ 10.1), which include many C++20 proposals.

Stack clash mitigation in GCC, Part 3
Article

Stack clash mitigation in GCC, Part 3

Jeff Law

Discover the design principles and performance improvements behind GCC's code generation strategies for defending against stack clash attacks.

LLVM
Article

Extend C++ capabilities with LLVM STLExtras.h

Jan Kratochvil

We look at how the LLVM compiler header file called STLExtras.h extends the capabilities of C++ without any dependency on the rest of LLVM.