Czy mogę zastąpić __func__ w nazwę identyfikatora w makrze C?

Chciałbym napisać makro C, które to przyjmuje:

int foo() {
  MY_MACRO
}

i rozszerza to na:

int foo() {
  _macro_var_foo++;
}

Odkryłem, że nie mogę użyć__func__, ponieważ tak naprawdę nie jest rozszerzany w makrze; jest traktowany przez preprocesor jak zmienna.

Czy jest jakiś sposób, aby to zadziałało?

questionAnswers(4)

yourAnswerToTheQuestion