Как я могу отобразить элементы одного перечисления в другое? - PullRequest
0 голосов
/ 15 марта 2011

Я использую C. Мне нужны большие перечисления, один из идентификаторов меню и один из идентификаторов окон.В настоящее время они сопоставляются друг с другом с помощью массива, поэтому элементы должны быть идеально помещены в массив, и как только что-то изменится, должна быть сделана работа, чтобы вернуть их все в нужное место.Что может быть лучше для отображения меню на окнах?Спасибо

1 Ответ

0 голосов
/ 15 марта 2011

Вы явно присваиваете значения членам каждого enum?Как идентификаторы меню соответствуют идентификаторам окон?Можете ли вы опубликовать часть перечислений в качестве примера?

Если enums длинны, это может быть хорошим кандидатом для скрипта генерации кода.Сохраните свои идентификаторы в (например) CSV-файле, в котором перечислены совпадающие пары идентификаторов окон и идентификаторов меню.Затем напишите скрипт, который анализирует файл CSV и генерирует заголовок, содержащий соответствующие определения enum.Если вы строите свой проект с использованием make-файлов (или аналогичных), то будет достаточно просто интегрировать этот тип автоматически сгенерированного заголовка в вашу систему сборки.

...