Есть ли волшебная переменная в gcc, удерживающая указатель на текущую функцию?
Я хотел бы иметь какую-то таблицу, содержащую для каждого указателя функции набор информации.
Я знаю там переменную __func__, содержащую имя текущей функции в виде строки, но не как указатель функции.
Это не вызов функции, а только для использования в качестве индекса.
ИЗМЕНИТЬ В основном то, что я хотел бы сделать, это возможность запуска вложенных функций непосредственно перед выполнением текущей функции (а также захват возврата для выполнения некоторых действий). В принципе, это похоже на __cyg_profile_func_enter и __cyg_profile_func_exit (функции инструментария)... Но проблема в том, что эти инструментальные функции являются глобальными, а не функциями.
ИЗМЕНИТЬ
В ядре linux вы можете использовать unsigned long kallsyms_lookup_name(const char *name)
от include/linux/kallsyms.h
... Обратите внимание, что параметр CONFIG_KALLSYMS
должен быть активирован.