LINUX.ORG.RU

Не совсем понятно, но по-стандарту C определен макрос __func__, который равен имени функции, где он находится. Например, можно писать так. 

#include <stdio.h>
                                                                                
#define error (fprintf (stderr, "Error in function %s\n", __func__))
                                                                                
void other_func (void)
{
  error;
}
                                                                                
int main ()
{
  error;
                                                                                
  other_func();
}

anonymous
()

#define err(func) printf("error in " #func )

vnp
()

Сапасибо, сделал так:

#define FAULT(fn) { int r = (fn) if( r < 0 ) { printf("error in " #fn "%s \n",strerror(errno)); return r;} }

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.