Я пишу кучу связанных макросов препроцессора, один из которых генерирует метки, к которым переходит другой. Я использую их следующим образом:
MAKE_FUNNY_JUMPING_LOOP(
MAKE_LABEL();
MAKE_LABEL();
)
Мне нужно каким-то образом генерировать уникальные ярлыки, по одному для каждого внутреннего вызова MAKE_LABEL
, с препроцессором. Я пробовал использовать __LINE__
, но поскольку я вызываю MAKE_LABEL
внутри другого макроса, все они имеют одну и ту же строку, и метки сталкиваются.
Мне бы хотелось, чтобы это расширение было чем-то вроде:
MAKE_FUNNY_JUMPING_LOOP(
my_cool_label_1: // from first inner macro
...
my_cool_label_2: // from second inner macro
...
)
Есть ли способ генерировать хэши или автоматически увеличивающиеся целые числа с препроцессором?