Проверка значения макроса - PullRequest
1 голос
/ 15 декабря 2011

Допустим, один файл скомпилирован и находится в рабочем режиме и использует какой-то макрос. Есть ли способ проверить, какое значение макроса используется файлом.

например, если файл содержит

-define(TIMEOUT,200).

С терминала, как я могу проверить, какое определение TIMEOUT используется файлом.

Почему я хочу, потому что предположим, что файлв рабочем режиме, и я изменил определение макроса между и забыл скомпилировать файл.Я хочу подтвердить, какое определение оно принимает.

1 Ответ

5 голосов
/ 15 декабря 2011

Макросы не сохраняются даже на самых ранних стадиях компиляции, так как препроцессор немедленно заменяет их в источнике. Вам нужно определить и экспортировать отдельную функцию, чтобы увидеть их значения, например:

macro_values() ->
  [{'TIMEOUT',?TIMEOUT},...].

Затем вы можете вызвать это из оболочки и получить значения, которые были подставлены.

...