Не в обычном смысле, поскольку C ++ не поддерживает рефлексию.Вы можете скомпилировать программу с отладочной информацией и открыть ее и прочитать таблицу символов, как отладчик, но это, вероятно, больше проблем, чем стоит.
В любом случае, зачем вам нужно обнаруживать существование функцииво время выполнения?Это известно во время компиляции.
Если вы можете выделить часть, которая может содержать функцию, в динамическую библиотеку, вы можете открыть ее во время выполнения и выполнить поиск по ней по символам.(В системе Linux вы бы использовали dlopen()
и dlsym()
; на других платформах есть эквиваленты, но я не знаю их имен от случая к случаю.) Это скажет вам, существует ли имя как символ, хотя оно и выиграло 'не могу сказать вам, является ли это функцией.