C: Simple Defer, Ready to Use

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
  1. aws-greengrass-lite

    The Greengrass nucleus lite provides a lightweight alternative to the Greengrass nucleus runtime. The nucleus lite aims to be compatible with the Greengrass nucleus, but implements a subset of its functionality. Expect future releases to reduce the feature gap.

    Unfortunately, this requires an executable stack, and only works on gcc, though an alternate implementation can work on clang.

    After a few attempts at defer, I ended up using a cleanup macro that just takes a function and a value to pass to it: https://github.com/aws-greengrass/aws-greengrass-lite/blob/8...

    Since the attribute or a function-like macro in the attribute position broke the c parsing in some tooling, I made the macro look like a statement.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. scope

    Boost.Scope, a collection of scope guard utilities. (by boostorg)

    https://github.com/boostorg/scope/blob/develop/include/boost...

  4. Libc

    I like the approach of attributing variables better to be honest, e.g. Apple's Libc has a header with attributes for some common resource types.

    https://github.com/apple-oss-distributions/Libc/blob/Libc-16...

  5. llvm-project

    The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.

    That's from the OP blog, the intention of macro mess is to generate uniquely named local lambda.

    Cleaner version is like: https://github.com/llvm/llvm-project/issues/100869#issue-243...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Boost.Scope: collection of scope guard utilities

    1 project | news.ycombinator.com | 15 Jan 2024
  • Rust's recursive directory iterator 5x faster than CPP

    3 projects | /r/rust | 16 Jun 2022
  • Brand new C++20 serialization library (one header)

    3 projects | /r/cpp | 17 Dec 2021
  • Non C++17, or Boost way to mkdir

    1 project | /r/cpp_questions | 2 Mar 2021
  • Implementing Regular Expressions in TypeScript Types (Badly)

    3 projects | news.ycombinator.com | 20 Oct 2024