Our great sponsors
-
There was a time that I wanted to write such a book but then realised that it's better to just create a third-party library and not to confuse users with abstruse macro techniques, but to encapsulate them and provide a nice interface. For example, you can workaround the preprocessor in such a way to implement recursion, but practically it's just too complicated to use directly. So I created Metalang99 -- a preprocessor metaprogramming library that allows writing fairly complicated macros. You can find a tutorial and references to prior art in the README.
-
c_exceptional
A simple Exception-handling library for C99, that uses some fancy macros for true try{...}catch(err){...}finally{...} syntax!
Metaprogramming custom control structures in C is a very good resource. I used those techniques to for instance create a C99 exception library: exceptional.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Mostly by browsing the code of Boost/Preprocessor and reading the Cloak wiki.
-
Also, forgot to say that there's a collection of mad preprocessor stuff: awesome-c-preprocessor.