C C99

Open-source C projects categorized as C99

Top 23 C C99 Projects

  • flecs

    A fast entity component system (ECS) for C & C++

    Project mention: Flecs – A fast entity component system (ECS) for C and C++ | news.ycombinator.com | 2024-10-19
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • s2n

    An implementation of the TLS/SSL protocols

    Project mention: OpenSSL bug exposed up to 255 bytes of server heap and existed since 2011 | news.ycombinator.com | 2024-07-30

    I started writing s2n the day after Heartbleed and the first lines of code were for the stuffer interface. A stuffer is a buffer for stuff, and it's like Java buffered I/O for C. You can get a flavor from reading the header: https://github.com/aws/s2n-tls/blob/main/stuffer/s2n_stuffer...

    The implementation is incredibly simple. Treat all blocks of memory as blob with a known size and then read/write into those blobs with a cursor to track progress and bounds checks on every access. Fence all serialization/deserialization through a safe low level interface. Not only do you get memory safety (which we later proved using formal reasoning) ... but when you're parsing message formats it lends itself to a declarative coding style that makes it very clear what the structure is. You can also do lifecycle things, like erasing sensitive memory with zeroes when you're done with it, making sure things don't show up in core dumps, etc. BoringSSL introduced a Crypto_bytes API that also did some of this plus bounds checking, and retrofit it into OpenSSL.

    OpenSSL on the other hand is a horrific mash up of raw pointer arithmetic, ad-hoc parsers interleaved with business logic and control flow. I could never keep it straight, and it always scared me to review.

  • cgltf

    :diamond_shape_with_a_dot_inside: Single-file glTF 2.0 loader and writer written in C99

    Project mention: Rewriting Rust | news.ycombinator.com | 2024-09-25
  • datatype99

    Algebraic data types for C99

    Project mention: Algebraic Data Types for C99 | news.ycombinator.com | 2024-05-09
  • Melon

    A generic cross-platform C library that includes many commonly used components and frameworks, and a new scripting language interpreter. It currently supports C99 and Aspect-Oriented Programming (AOP).

  • gunslinger

    C99, header-only framework for games and multimedia applications

  • libexpat

    :herb: Fast streaming XML parser written in C99 with >90% test coverage; moved from SourceForge to GitHub

    Project mention: Which open-source projects are widely used but maintained by just a few people? | news.ycombinator.com | 2024-09-09
  • libtcod

    A collection of tools and algorithms for developing traditional roguelikes. Such as field-of-view, pathfinding, and a tile-based terminal emulator.

  • Cloak

    A mini-preprocessor library to demostrate the recursive capabilites of the preprocessor (by pfultz2)

  • metalang99

    Full-blown preprocessor metaprogramming

    Project mention: Metalang99: Full-Blown Preprocessor Metaprogramming | news.ycombinator.com | 2024-09-30
  • wax

    A tiny programming language that transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly 🚀

    Project mention: Wax Programming Language | news.ycombinator.com | 2024-05-21
  • libspng

    Simple, modern libpng alternative

  • RGFW

    A cross platform lightweight single-header simple-to-use window abstraction library for creating graphical programs or libraries.

    Project mention: RGFW: Single-header C99 window abstraction library | news.ycombinator.com | 2024-11-22
  • halfix

    x86 PC emulator that runs both natively and in the browser, via WebAssembly

  • json-parser

    JSON parser in standard C (by Barenboim)

  • voxelizer

    Header only mesh voxelizer in c99

  • azure-iot-sdk-c

    A C99 SDK for connecting devices to Microsoft Azure IoT services

  • exengine

    A C99 3D game engine

  • nbnet

    single header C(99) library to implement client-server network code for games

  • FastLZ

    Small & portable byte-aligned LZ77 compression (by ariya)

  • cparser

    C99 parser and frontend for libfirm

    Project mention: Compiling History: A brief tour of C compilers | news.ycombinator.com | 2024-02-14

    > QBE is a new optimizing backend much simpler than LLVM; cproc and cparser are two of the C compilers that target it, in addition to its own minic.

    I thought cparser targeted libFirm. That's what their GitHub page says [0].

    "It acts as a frontend to the libFirm intermediate representation library."

    > We really need a production quality open source C compiler that is actually written in C.

    I honestly think cproc or cparser are almost there already. For cproc, you just need to improve the quality of code optimization; it's really QBE you'd need to change. For example, you could change unnecessary multiplications by powers of 2 into left shifts, improve instruction selection so that subtraction is always something like "sub rax, rdi" and not "neg rdi / add rax, rdi" [1]).

    For cparser, I notice slightly higher quality codegen; libFirm just needs more architecture support (e.g. AMD64 support appears to work for me, but it's labeled as experimental).

    [0]: https://github.com/libfirm/cparser

    [1]: I'm pretty sure this is the line of code that generates it, too: https://c9x.me/git/qbe.git/tree/amd64/emit.c#n418

  • interface99

    Full-featured interfaces for C99

  • hamt

    A hash array-mapped trie implementation in C

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C C99 discussion

Log in or Post with

C C99 related posts

Index

What are some of the best open-source C99 projects in C? This list will help you:

Project Stars
1 flecs 6,501
2 s2n 4,533
3 cgltf 1,474
4 datatype99 1,376
5 Melon 1,373
6 gunslinger 1,273
7 libexpat 1,104
8 libtcod 995
9 Cloak 915
10 metalang99 877
11 wax 795
12 libspng 742
13 RGFW 737
14 halfix 669
15 json-parser 644
16 voxelizer 626
17 azure-iot-sdk-c 588
18 exengine 558
19 nbnet 452
20 FastLZ 442
21 cparser 340
22 interface99 303
23 hamt 284

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com