C

A code editor with four icons symbolizing DevOps, developers, a gear, and a cluster.
Article

Debuginfod project update 2024

Aaron Merey

Get an overview of notable updates and enhancements to debuginfod, a tool for distributing debugging resources such as executables, debug information, and source files.

C and C++ logo
Article

Making memcpy(NULL, NULL, 0) well-defined

Nikita Popov

C2y makes memcpy(NULL, NULL, 0) and other zero-length operations on null pointers well defined. This removes a source of bugs that may result in security issues.

Featured image for Valgrind.
Article

How to track file descriptors with Valgrind

Alexandra Petlanova Hajkova

Explore new features related to Valgrind's file descriptor and learn how to use them to track the file descriptors your program is using—or misusing.

Feature image for the C programming language.
Article

Preparing Valgrind Memcheck for x86-64-v3

Mark Wielaard

A brief look at the changes needed to allow Valgrind Memcheck to produce correct diagnostics for memory issues in conjunction with x86-64-v3 instructions.

Feature image for the C programming language.
Article

A new constant expression interpreter for Clang, Part 2

Timm Baeder

A popular technique modern compilers use to improve the runtime performance of compiled code is to perform computations at compile time instead of at runtime. However, constant expressions need to be evaluated at compile time for a variety of reasons. To help resolve this problem, I've been working on improving the Clang's constant interpreter.

Configure a Jupyter notebook to use GPUs for AI/ML modeling
Article

Your second GPU algorithm: Quicksort

Kenny Ge

Learn how to write a GPU-accelerated quicksort procedure using the algorithm for prefix sum/scan and explore other GPU algorithms, such as Reduce and Game of Life.

Featured image for Red Hat Enterprise Linux.
Article

Using GDB to time travel

Guinevere Larsen

This article provides a quick tutorial, explaining how to use GDB's reverse debugging facility, also known as time travel debugging. This will show the basic commands to use this facility.

Configure a Jupyter notebook to use GPUs for AI/ML modeling
Article

What is GPU programming?

Kenny Ge

The first of a four-part series on introductory GPU programming, this article provides a basic overview of the GPU programming model.

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

A practical guide to linker section ordering

Nick Clifton

Learn how to use a linker's section ordering feature to experiment with the layout of code and data in memory, without the need to write full linker scripts.

DOTNET on Red Hat Enterprise Linux_Share Image
Cheat Sheet

.NET on Red Hat Enterprise Linux

Don Schenck

Learn how to install .NET on RHEL, get a program running, and run your .NET code in a Linux container with our .NET on Red Hat Enterprise Linux cheat sheet.

Red Hat Developer - Build Here Go Anywhere
Page

Red Hat Developers

Join Red Hat Developer for the software and tutorials to develop cloud applications using Kubernetes, microservices, serverless and Linux.

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

Vectorization optimization in GCC

Jakub Jelínek

Learn how developers can achieve higher performance using the GCC compiler system's vectorization features.