I think you first need to understand what macros do, and then try to understand what code does after expanding macros. We hope that each macro or a small set of macros makes some sense that you can find from the definitions and / or comments.
While you can run the code through the preprocessor, this usually gives you a pretty undifferentiated mass (no comment), which is probably harder to understand.
source share