4 ms·
> Looks like the debugger could use some improvement. Try `gcc -g3` (the default is 2). But because C-style macros are context-sensative string operations, the
by manwe150 9y ago
> Looks like the debugger could use some improvement.
Try `gcc -g3` (the default is 2). But because C-style macros are context-sensative string operations, the result is not necessarily especially pleasant/useful and can be rather large (slowing down the debugger for everything else).
I find that using `static inline` functions and `static const` variables in the header can just be much nicer to work with all around (some argument type-checking, better stack frame management means alloca is usable, no accidental syntax clashes requiring lots of extra parens to avoid, and real debug info). And, if necessary, use a tiny macro just to form the call to the real function or form the declarations for repeated tabular data. I wouldn't have expected macros to be slower in any case, however.
- loup-vaillant 9y ago> I wouldn't have expected macros to be slower in any case, however. Neither did I to be honest. I was searching for low hanging fruits, and forcing inlining with macros looked made some kind of sense. I expected the compiler to generate the same code, yet somehow it didn't.