0

Можно ли получить имя константы, определенной в #define? Например, есть константа #define DRIVE_NO_ROOT_DIR = 1, можно ли получить по числу 1 строку DRIVE_NO_ROOT_DIR?

a6461
  • 755
  • думаю нет) после компиляции дефайнов точно не будет – pavel May 27 '18 at 16:32
  • А почему бы не использовать enum-ы для этой цели например. – Unick May 28 '18 at 09:13

1 Answers1

0

Нет. На вход компилятора поступает код, где уже нет никаких макросов...

Кстати,

#define ODIN  1
#define ONE   1
#define EIN   1

Какое имя вы хотите получить? :)

Harry
  • 221,325
  • ну мало ли) дефайн штука мутная. Может мы переопределим дефайн в какой-то макрос чтобы все названия в константах были, потом как-то достучимся... – pavel May 27 '18 at 16:34
  • @pavel И нарвемся на тот случай, о котором написал я выше - будет у вас десяток макросов, которые в 1 развернутся - и какой из них вернуть?... – Harry May 27 '18 at 16:35
  • все... списком... – pavel May 27 '18 at 16:36
  • для этого нужен clang и собственный парсер. – KoVadim May 28 '18 at 06:51