Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-c-preprocessor
A list of awesome C preprocessor stuff
https://github.com/Hirrolot/awesome-c-preprocessor
Last synced: 3 days ago
JSON representation
-
Articles
-
- _Metaprogramming custom control structures in C_
- 7 Scandalous Weird Old Things About The C Preprocessor
- _Coroutines in C_
- _IOCC "Best abuse of the C preprocessor"_
- _Advanced metaprogramming in C_
- _C/C++ Preprocessor Metaprogramming_
- _The Love/Hate Relationship with the C Preprocessor: An Interview Study_
- _Outperforming LAPACK with C metaprogramming_
- _C Pre-Processor Magic_
-
Jens Gustedt's Blog
-
-
Metaprogramming frameworks
- `davidgarland/ceano` - - A collection of C preprocessor hackery.
- Hirrolot/metalang99 - - Full-blown preprocessor metaprogramming.
- `boostorg/preprocessor` - - Boost.org preprocessor module.
- `boostorg/vmd` - - Boost.org VMD module.
- `hirrolot/metalang99` - - Full-blown preprocessor metaprogramming.
- `rofl0r/order-pp` - - order-pp preprocessor library (standalone part of chaos-pp).
- `rofl0r/chaos-pp` - - chaos preprocessor library. this is what boost preprocessor derived from.
- `pfultz2/Cloak` - - A mini-preprocessor library to demonstrate the recursive capabilities of the preprocessor.
- `pfultz2/ZLang` - - A plugin framework for namespace macros in C/C++.
- `mcinglis/libpp` - - Functional-programming macros for the C preprocessor.
- `mcinglis/macrofun` - - Standards-defying functional-programming macros for the C preprocessor.
- `twhitehead/c99-meta` - - Abusing the C99 preprocessor for meta-programming.
- `metacall/core/source/preprocessor` - - Preprocessor Library by Parra Studios.
-
Other projects
- `mcpp` - - A portable C preprocessor.
- `swansontec/map-macro` - - A recursive C preprocessor macro which performs an operation on each element of a list.
- `M4GNV5/CppFun` - - Math in the C pre-processor by breaking up Numbers into arrays of 8 bits and implementing common operations on those arrays.
- `ramdeoshubham/macros` - - A collection of commonly used C MACROS.
- `agrif/Makefile` - - A horrible, horrible, wonderful C Preprocessor hack library.
- `notfoundry/wtf.c` - - 4-bit ALU metaprogrammed in C11's \_Generic.
- `kcning/binom` - - C macro that computes binominal coefficient at compile time.
- `ldionne/cisp` - - A C preprocessor library implementing object semantics.
- `rofl0r/thread_wrapper` - - A thread launcher wrapper macro which removes the boilerplate and allows to call any non-void function as a separate thread (needs BOOST preprocessor lib, which is C compatible).
- `18sg/uSHET` - - A Malloc-Free SHET Client Library for Microcontrollers (`lib/cpp_magic.h`).
- `ScrimpyCat/CommonC` - - Common utilities for C (`CommonC/Template.h`).
- `cher-nov/Gena` - - Generic pseudo-templated containers for C. Written entirely in C89 with design inspired by the C++ STL.
- `DiscordPP/discordpp` - native`](https://github.com/DiscordPP/plugin-native) -- A modular Discord library and a module for it that use macros to define Discord API endpoints and objects.
-
C language extensions
- `Leushenko/C99-Lambda` - - Purely evil preprocessor macros adding anonymous functions and closures to ISO C99.
- `Leushenko/Pyrite` - - BASIC-style "compiler" as C syntax library.
- Hirrolot/datatype99 - - Algebraic data types for C99.
- Hirrolot/interface99 - - Zero-boilerplate interfaces for C99.
- Leushenko/C99-Lambda - - Purely evil preprocessor macros adding anonymous functions and closures to ISO C99.
- Leushenko/Pyrite - - BASIC-style "compiler" as C syntax library.
- `hirrolot/datatype99` - - Algebraic data types for C99.
- `hirrolot/interface99` - - Zero-boilerplate interfaces for C99.
- `orangeduck/Cello` - - Higher level programming in C.
- `CObjectSystem/COS` - - C Object System: a framework that brings C to the level of other high level programming languages and beyond.
- `small-c/obj.h` - - A single-header supports OOP in pure C.
- `shakna-israel/LetsDestroyC.md` - - Let's Destroy C.
- `yulon/clofn` - - A closure function implementation for C.
- `alexanderchuranov/Metaresc` - - META data and RESource library for C language.
- `emdash/goof` - - A toy functional language created through the abuse of C.
- `Qqwy/c_exceptional` - - A simple Exception-handling library for C99.
-
Compilers/Interpreters
- `BlueFlo0d/CSP` - - Compile-time LISP interpreter on C macro preprocessor.
- `cospplredman/PPLISP` - - A set of 45 macros that allow for lisp-like preprocessor meta programming.
- `Ferdi265/preprocessor_brainfuck` - - A brainfuck interpreter using only the C preprocessor.
- `orangeduck/CPP_COMPLETE` - - Brainfuck interpreter written in the C preprocessor.
- `mkotha/bfi` - - A brainfuck interpreter on the C preprocessor.
- `notfoundry/bf.h` - - Brainfuck interpreter written in the C preprocessor.
- `notfoundry/ppasm` - - x86_64 macro assembler entirely in C preprocessor.
-
Debuggers
- `notfoundry/ppstep` - - Interactive C/C++ preprocessor macro debugger.
- `ptaffet/preprocessor-debug` - - Observe how the C preprocessor expands your complicated macros.
- `messer-cpp/messer` - - REPL for C preprocessor of C++17.
-
SO questions
Categories
Sub Categories
Keywords
c
8
c99
8
macros
7
metaprogramming
7
preprocessor
7
metalang99
6
cpp
4
cpreprocessor
4
type-system
4
oop
3
derive
2
introspection
2
pattern-matching
2
reflection-library
2
sum-types
2
closure
2
tagged-unions
2
variant
2
dynamic-dispatch
2
recursion
2
generic-programming
2
object-oriented
2
typeclasses
2
cpp11
2
embedded-language
2
fp
2
functional-language
2
functional-programming
2
header-only
2
interpreter
2
language
2
programming-language
2
adt
2
algebraic
2
algebraic-data-types
2
polymorphism
2
discord-lib
1
discord-api-wrapper
1
discord-library
1
discordpp
1
discord-api
1
discord
1
c-plus-plus
1
templates
1
stl
1
library
1
generics
1
gena
1
containers
1
aesthetic
1