I\'m taking a look at an application that defines a large set of constant arrays. What really confuses me is the use of two pound signs next to each other in a macro. For ex
##
concattenates symbols. So for example if the value of p
is ab
, 0x##p
would become 0xab
.
##
provides a way to concatenate actual arguments during macro expansion.
Als and sepp2k give correct answer.
However I would like to add, that this macro seems to be completely unnecessary.
unsigned int value = r0(b,e,a,f);
can be replaced by better and shorter:
unsigned int value = 0xbeaf;