C and C++
Performance, memory safety, compilers and modern C++ in practice.
185 links, newest first.
- C and C++Article
A series on memory allocation strategies
gingerBill’s series covers memory allocation strategies.
Useful for engineers comparing approaches to memory allocation.
- C and C++Article
Linux kernel documentation on x86 bus lock detection
The post describes a split lock as an atomic operation spanning two cache lines, which can trigger a bus lock. The linked Linux kernel documentation covers bus lock detection and handling.
Split locks can affect system performance, so engineers working with atomics and memory alignment should understand how the kernel detects them.
- C and C++Video
Video on Pipelined and Out-of-Order Execution
The post links to a BitLemon video about pipelined execution and out-of-order execution, including Tomasulo's algorithm.
These CPU execution concepts can inform engineers' understanding of performance.
- C and C++Post on X
10 C Projects for Systems Programming Practice
A list of ten C projects, from a memory allocator and Unix shell to a FUSE filesystem and mini debugger, ordered by increasing difficulty. The post suggests building them to learn systems concepts.
The project sequence offers practical exercises for exploring systems programming and computer fundamentals.
- C and C++Article
Building Floating-Point Arithmetic from Scratch
An article about implementing floating-point arithmetic from scratch, presented as a particularly challenging project.
It offers engineers a hands-on look at the mechanics of floating-point arithmetic.
- C and C++Paper
C++ Design Patterns for Low-Latency Applications
An introduction to C++ design patterns for low-latency applications, including HFT, covering performance optimizations familiar from advanced compiler and OS courses.
Useful for building intuition about performance in low-latency C++ systems.
- C and C++Article
Designing Ultrafast Trading Systems in C++
A CppCon 2024 talk by David Gross on ultrafast trading systems in C++. Gross says much of the work to achieve low latency happens during design, not code optimization.
It highlights how early architectural choices shape latency in C++ systems.
- C and C++Paper
A 2012 paper on integer overflow in C and C++
The linked PDF is a 2012 paper about integer overflow in C and C++, hosted on the University of Utah website.
Integer overflow is a relevant concern when writing and reviewing C and C++ code.
- C and C++Article
C++ Free-Store Management FAQ
A Standard C++ FAQ page covering free-store memory management.
Useful as a reference for engineers working with memory allocation in C++.
- C and C++Article
C article adds fat-pointer examples to address array overflows
Walter Bright says he revised “C’s Biggest Mistake” with examples of how fat pointers can work in C to eliminate array overflow bugs.
The examples offer engineers a perspective on using fat pointers to address array overflow bugs in C.
- C and C++Docs
A gentle introduction to jump threading
A Red Hat Developer article describes GCC jump-threading optimizations, which aim to reduce dynamically executed jumps across program control-flow paths.
Understanding jump threading can help engineers interpret compiler optimizations and their effects on generated code.
- C and C++Paper
The ELF Specification for Linux Binaries
The post points to the ELF specification, which covers the binary format used for executables, object code, shared libraries, and core dumps on Linux.
Understanding ELF helps engineers reason about how Linux binaries and their low-level system interactions are structured.
- C and C++Article
View a Clang AST in Compiler Explorer
A Compiler Explorer example uses Clang to compile a short C++ program that calls `foo`, which performs a conditional calculation based on `a % 2`. The post notes that Compiler Explorer can show the Clang AST.
Inspecting the AST can help engineers understand how Clang represents C++ code.
- C and C++Article
Dive into Systems: a C-based systems programming book
Dive into Systems is a freely available book covering systems programming, code optimization, and assembly across multiple architectures, grounded in C.
It offers engineers a resource for connecting C code with optimization and assembly across architectures.
- C and C++Repository
WinDbg MCP exposes debugger functions as MCP tools
WinDbg MCP is an MCP server that exposes pybag Windows debugger functions as native tools for compatible clients. The post describes using it to inspect live processes and crash dumps, set breakpoints, read memory, and walk the stack.
Engineers can use MCP-compatible clients to explore Windows processes and dumps through debugger operations.
- C and C++Article
Compiling to Assembly from Scratch
Vladimir Keleshev’s article is titled “Compiling to Assembly from Scratch.”
It may help engineers explore how a compiler can generate assembly code.
- C and C++Article
ASM Visualizer for assembly code
The post links to ASM Visualizer, an assembly-code visualization tool.
It may help engineers inspect assembly when working with compiler output.
- C and C++Article
20 Common C++ Multithreading Mistakes and How to Avoid Them
A guide to common pitfalls in concurrent C++ programming, described as updated for C++20/23. The page preview says it covers best practices and production-ready code.
It offers engineers a focused reference for avoiding common concurrency pitfalls in modern C++.
- C and C++Article
How to Design an ISA
David Chisnall's article, “How to Design an ISA,” is published by ACM Queue.
ISA design is relevant to engineers working with compilers and performance.
- C and C++Paper
What Every Programmer Should Know About Memory
An article by Ulrich Drepper about memory for programmers.
Useful background for engineers working with memory behavior and performance.
Build with AgentLog
Send your own newsletter
CommsHarbor keeps contacts, consent and one-click unsubscribe together.
Free workspace
Open CommsHarbor

