Skip to content

C and C++

  1. C and C++Project
    1 month ago @adityazero_ github.com

    Vx Lowers Inline MLIR for Leading-Zero Operations

    Vx uses an `mlir!` macro to lower MLIR directly. Its `math.ctlz` operation can map to `lzcnt` on x86 and `clz` on ARM, avoiding hand-maintained routines for different hardware.

    This example shows how a language can expose compiler IR to target hardware-specific instructions.

  2. C and C++Project
    1 month ago @never_released github.com

    Qualcomm open-sources the FastRPC IDL compiler for Hexagon

    The post announces that Qualcomm has open-sourced the FastRPC IDL compiler for Hexagon and links to the QAIC GitHub repository.

    Engineers working with Hexagon or FastRPC can inspect the compiler source.

  3. The Deadlock Empire Teaches Concurrency Through a Game

    The Deadlock Empire is a game where players act as a scheduler, exploit flawed programs, and learn about concurrency.

    It offers an interactive way to explore how scheduling can expose concurrency flaws.

  4. C and C++Article
    2 months ago @0xAX david.alvarezrosa.com

    Optimizing a Spinlock

    An article about optimizing spinlocks, which keep threads on the CPU spinning instead of yielding to the scheduler. The preview notes that this avoids syscalls and context switches.

    Useful for engineers evaluating spinlocks and their performance tradeoffs.

  5. Windows on Arm’s PRISM Binary Translation

    An article examines PRISM, the binary translation system Windows on Arm uses, and its effects on code.

    Useful for understanding how binary translation affects running code on Windows on Arm.

  6. 2 months ago @jedisct1 arxiv.org

    C*: Unifying Programming and Verification in C

    This paper presents C*, an approach to unifying programming and verification in C. It addresses the disconnect between conventional programming environments and formal verification practices.

    It may help systems programmers understand an approach to making formal verification more accessible in C.

  7. C and C++Project
    2 months ago @oneandonlyhusam github.com

    Movfuscator compiles C into MOV-only assembly

    Movfuscator is a C compiler that produces Turing-complete assembly using only the MOV instruction. Its GitHub repository describes it as a single-instruction C compiler.

    It offers a striking example of how compiler output can be constrained to one instruction, with implications for code analysis.

  8. libuv User Guide: Event Loops and Async Programming

    The libuv user guide covers the event loop, a foundational concept in asynchronous programming. The post notes conceptual similarities with other event-loop systems.

    Understanding libuv’s event loop helps C and C++ engineers reason about asynchronous code.

  9. C and C++Article
    3 months ago @nathan_baggs_ godbolt.org

    C++ Reflection Example Mutates a Private Data Member

    A Compiler Explorer example uses C++ reflection with an unchecked access context to increment every non-static data member of `Foo`, including its private `secret` field, and print the result.

    It illustrates how reflection access controls can affect encapsulation in modern C++.

  10. 3 months ago @the_osps

    Awesome C++ Curates C++ Libraries and Resources

    Awesome C++ is a curated list of C++ frameworks, libraries, resources, and other items, inspired by awesome lists.

    It offers engineers a starting point for discovering C++ tools and resources.

  11. C and C++Project
    3 months ago @0xAX github.com

    Linux x86_64 Assembly Guide Released as a PDF

    The 0xAX assembly series for Linux x86_64 is now available as a single PDF, according to the author. The linked GitHub release is v1.0.0.

    A consolidated assembly guide can help C and C++ engineers understand low-level Linux x86_64 code.

  12. C and C++Project
    3 months ago @antirez github.com

    Standalone C Headers for 8-Bit Chip and System Emulators

    The floooh/chips repository contains 8-bit chip and system emulators implemented as standalone C headers.

    It offers engineers a concrete codebase to study for C-based emulation.

  13. Memory Layout of Multidimensional Arrays

    Eli Bendersky’s article examines the memory layout of multidimensional arrays. The post says it includes benchmark code comparing performance across access patterns.

    Understanding access patterns can help engineers reason about performance when working with multidimensional arrays.

  14. C and C++Article
    4 months ago @pikuma cacm.acm.org

    The LLVM Compiler Infrastructure

    An article examining LLVM’s major innovations, broad impact, and ongoing work that has grown from the project’s success.

    Useful context for engineers working with compilers and tools built on LLVM.

  15. C and C++Article
    4 months ago @betterhn300 dthain.github.io

    Introduction to Compilers and Language Design

    A 2021 book titled *Introduction to Compilers and Language Design*, by Prof. Douglas Thain at Notre Dame.

    A resource for engineers interested in compiler construction and language design.

  16. C and C++Article
    4 months ago @0xAX essenceia.github.io

    Building floating-point arithmetic from scratch

    An article about building floating-point arithmetic from scratch, described as a “hard mode” project.

    A hands-on implementation can help engineers understand how floating-point arithmetic is built.

  17. 4 months ago @ludwigABAP

    Frances Allen’s 1971 Catalogue of Optimizing Transformations

    The post describes Frances Allen’s roughly 30-page 1971 paper on optimizing compiler transformations and lists several passes attributed to Graydon Hoare.

    It points engineers to an early reference for common compiler optimization passes.

  18. How Statically Linked Programs Start on Linux

    Eli Bendersky explains how statically linked programs run on Linux, focusing on what happens when a program starts.

    Understanding startup mechanics can help engineers reason about Linux executables and linking.

  19. C and C++Project
    4 months ago @StasBekman github.com

    The Art of Debugging Open Book

    The Art of Debugging is an open book available in PDF and EPUB, with five chapters. Its author says the methodology chapter applies to software debugging generally, though much of the book focuses on Unix, Python, and PyTorch.

    Its general debugging methodology may be useful to engineers working beyond the book’s main language and platform focus.

  20. 4 months ago @vivekgalatage youtube.com

    Lecture 17: Advanced Branch Prediction

    A lecture titled “Advanced Branch Prediction” from Digital Design and Computer Architecture.

    Branch prediction is a processor feature that can affect software performance.

Looking for something else?QuestionsContact