Как получить адрес переменной, используя строку с именем переменной? - PullRequest
0 голосов
/ 29 октября 2009

Я хотел бы сделать что-то вроде простого и быстрого общего отладчика консоли. Эта небольшая библиотека должна быть встроена в основную программу.

Итак, я хотел бы сделать что-то подобное при запуске программы в режиме консоли:

«Ввод: печать я» «выход: 15,53» «Ввод: установить цвет 255» «вход: цвет печати» "выход: 255"

И «i», и «color» будут предварительно объявленными переменными в коде. Это не интерпретатор, просто удобный способ проверки и изменения содержимого переменных.

GDB не является правильным решением для моей проблемы, так как я буду использовать этот код для программ компьютерной графики, которые я буду кодировать, поэтому он должен быть в состоянии работать в «режиме выпуска».

Одно очень простое решение, которое я нашел до сих пор, состоит в том, чтобы просто составить список структур, который содержит пустой указатель, тип данных указателя и строку, которая представляет имя переменной. Но это было бы не так автоматически, как я себе представляю.

Есть ли способ преобразовать строку, скажем, "color", чтобы получить адрес целочисленной переменной с именем color в C ++? Если нет, то как я могу решить эту проблему?

Ответы [ 11 ]

0 голосов
/ 29 октября 2009

Вы можете оптимизировать его и построить его с помощью символов отладки (возможно в GCC), а затем выяснить, как читать символы отладки и тому подобное, чтобы отлаживать себя так же, как это делает GDB ... но это действительно кажется излишним ... Вы уверены? это жизнеспособный дизайн и что вы используете правильный язык, чтобы сделать такую ​​вещь? Когда именно этот консольный отладчик будет когда-либо использоваться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...