..... / PluginLoader.h: 34: множественное определение 'Dummy_Func_For_Generating_FUNCTION_NAME_Macro ()'
Вышеупомянутая ошибка выводится для кода ниже. Я включил охранников в свое дело. А все остальное компилируется нормально.
РЕДАКТИРОВАТЬ: Я пытался проверить, определено ли __ PRETTY_FUNCTION __
, и если это так, используйте его позже в коде с помощью макроса FUNCTION_NAME
(для ведения журнала). Если __ PRETTY_FUNCTION __
не определено, используйте следующий лучший вариант и так далее. Однако полученные ответы заставили меня понять, что это невозможно. Итак, если __ PRETTY_FUNCTION __
и все остальные не являются макросами, что это такое? И как мне проверить, есть ли один из них в определенной реализации?
void Dummy_Func_For_Generating_FUNCTION_NAME_Macro()
{
#ifndef FUNCTION_NAME
#ifdef __PRETTY_FUNCTION__
#define FUNCTION_NAME __PRETTY_FUNCTION__
#elif __FUNCTION__
#define FUNCTION_NAME __FUNCTION__
#elif __func__
#define FUNCTION_NAME __func__
#else
#define FUNCTION_NAME ""
#endif
#endif
}