C, C# and C++ Development

Everything about C and its extensions, C++ and C#.

C, C# and C++ Articles

C# 8 pattern matching

C# 8 pattern matching

February 27, 2020

In the previous article, we looked at C# 8 asynchronous streams. Another new C# 8 feature is extended support for pattern matching. In this article, we’ll take a look at what was possible with C# 7 and what was added in C# 8. C# 7 pattern matching Pattern matching is a feature that was introduced […]

C# 8 asynchronous streams

C# 8 asynchronous streams

February 24, 2020

.NET Core 3.1 (December 2019) includes support for C# 8, a new major version of the C# programming language. In this series of articles, we’ll look at the new features in .NET’s main programming language. This first article, in particular, looks at asynchronous streams. This feature makes it easy to create and consume asynchronous enumerables, […]

Toward _FORTIFY_SOURCE parity between Clang and GCC

Toward _FORTIFY_SOURCE parity between Clang and GCC

February 11, 2020

GCC combined with glibc can detect instances of buffer overflow by standard C library functions. When a user passes the -D_FORTIFY_SOURCE={1,2} preprocessor flag and an optimization level greater or equal to -O1, an alternate, fortified implementation of the function is used when calling, say, strcpy. Depending on the function and its inputs, this behavior may result […]

MIR: A lightweight JIT compiler project

MIR: A lightweight JIT compiler project

January 20, 2020

For the past three years, I’ve been participating in adding just-in-time compilation (JIT) to CRuby. Now, CRuby has the method-based just-in-time compiler (MJIT), which improves performance for non-input/output-bound programs. The most popular approach to implementing a JIT is to use LLVM or GCC JIT interfaces, like ORC or LibGCCJIT. GCC and LLVM developers spend huge effort to implement the optimizations reliably, effectively, and […]

Deploying debuginfod servers for your developers

Deploying debuginfod servers for your developers

December 17, 2019

In an earlier article, Aaron Merey introduced the new elfutils debuginfo-server daemon. With this software now integrated and released into elfutils 0.178 and coming to distros near you, it’s time to consider why and how to set up such a service for yourself and your team. Recall that debuginfod exists to distribute ELF or DWARF debugging information, […]

Latest Comments

Waiting for Disqus…