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: 2 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.
- metacall/core/source/preprocessor - - Preprocessor Library by Parra Studios.
- Hirrolot/metalang99 - - Full-blown preprocessor metaprogramming.
- boostorg/preprocessor - - Boost.org preprocessor module.
- boostorg/vmd - - Boost.org VMD module.
- 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.
-
C language extensions
- shakna-israel/LetsDestroyC.md - - Let's Destroy C.
- 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.
- yulon/clofn - - A closure function implementation for C.
- alexanderchuranov/Metaresc - - META data and RESource library for C language.
- Leushenko/C99-Lambda - - Purely evil preprocessor macros adding anonymous functions and closures to ISO C99.
- Leushenko/Pyrite - - BASIC-style "compiler" as C syntax library.
- emdash/goof - - A toy functional language created through the abuse of C.
- Qqwy/c_exceptional - - A simple Exception-handling library for C99.
-
Compilers/Interpreters
- notfoundry/bf.h - - Brainfuck interpreter written in the C 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/ppasm - - x86_64 macro assembler entirely in C preprocessor.
-
Other projects
- mcpp - - A portable C preprocessor.
- agrif/Makefile - - A horrible, horrible, wonderful C Preprocessor hack library.
- notfoundry/wtf.c - - 4-bit ALU metaprogrammed in C11's \_Generic.
- 18sg/uSHET - - A Malloc-Free SHET Client Library for Microcontrollers (`lib/cpp_magic.h`).
- ScrimpyCat/CommonC - - Common utilities for C (`CommonC/Template.h`).
- 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.
- 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).
- 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.
-
Debuggers
- ptaffet/preprocessor-debug - - Observe how the C preprocessor expands your complicated macros.
- notfoundry/ppstep - - Interactive C/C++ preprocessor macro debugger.
- messer-cpp/messer - - REPL for C preprocessor of C++17.
-
SO questions
Categories
Sub Categories
Keywords
c
7
preprocessor
7
c99
5
macros
5
cpreprocessor
4
metaprogramming
4
cpp
3
metalang99
3
type-system
2
oop
2
closure
2
recursion
2
cpp11
1
tagged-unions
1
sum-types
1
reflection-library
1
embedded-language
1
pattern-matching
1
introspection
1
fp
1
derive
1
algebraic-data-types
1
algebraic
1
adt
1
zlang
1
namespace-macros
1
namespace
1
turing-tarpit
1
functional-language
1
functional-programming
1
mini-preprocessor-library
1
header-only
1
cplusplus
1
programming-language
1
interpreter
1
language
1
binominal-coefficient
1
macro
1
aesthetic
1
containers
1
gena
1
generics
1
library
1
stl
1
templates
1
c-plus-plus
1
discord
1
discord-api
1
discord-api-v9
1
discord-api-wrapper
1