Могу ли я заменить __func__ на имя идентификатора в макросе C?

Я хотел бы написать макрос C, который принимает это:

int foo() {
  MY_MACRO
}

и расширяет это до этого:

int foo() {
  _macro_var_foo++;
}

Я обнаружил, что не могу использовать__func__потому что это на самом деле не раскрывается в макросе; он обрабатывается препроцессором как переменная.

Есть ли способ заставить это работать?

Ответы на вопрос(4)

Ваш ответ на вопрос