¿Puedo sustituir __func__ en un nombre de identificador en una macro C?
Me gustaría escribir una macro C que tome esto:
int foo() {
MY_MACRO
}
y lo expande a esto:
int foo() {
_macro_var_foo++;
}
He encontrado que no puedo usar__func__
, porque eso realmente no se expande en la macro; Es tratado por el preprocesador como una variable.
¿Hay alguna manera de hacer que esto funcione?