Да и нет
Есть ли языковая функция? Нет.
Можно ли это сделать независимо от системы? Нет.
Есть ли простой способ? Нет.
Может ли это быть сделано системно-специфическим способом с некоторыми усилиями? Да.
Таким образом, нет хорошего и легкого пути, но если вы действительно этого хотите, это можно сделать.Вообще говоря, программа скомпилирована для отладки, а затем вы открываете файл изображения во время выполнения и выясняете, какие переменные существуют и где они хранятся.Скорее всего, практический способ сделать это - написать сценарий отладчика, такого как gdb, и позволить ему выполнять низкоуровневую работу.
Если в вашей системе уже есть функция трассировки во время выполнения, вы можетеиспользуйте это.
Другая возможность: некоторые операционные системы поддерживают библиотечную функцию, которая читает таблицу символов.В Historic Unix и Mac OS X есть nlist (3). В некоторых версиях Linux и Solaris есть dlinfo (3). Инструмент CLI , называемый nm (1) (вы можете popen (1) it) общедоступно.