Хорошо, я хочу определить набор адресов памяти как константы в файле .h, который используется группой файлов .c (мы на C, а не на C ++).Я хочу иметь возможность видеть имя переменной вместо того, чтобы просто видеть шестнадцатеричный адрес в отладчике ... поэтому я хочу преобразовать имеющиеся у меня #defines в глобальные по объему константы.Проблема в том, что если я определю их так:
const short int SOME_ADDRESS = 0x0010
, то получу страшную ошибку «множественные объявления», поскольку у меня несколько файлов .c, использующих один и тот же .h.Я хотел бы использовать enum, но это не сработает, поскольку по умолчанию используется тип integer (что в моей системе составляет 16 бит ... и мне нужно более точное управление типом).
Iдумал о том, чтобы поместить все адреса в структуру ... но у меня нет способа (который я знаю) установить значения по умолчанию для экземпляра структуры в заголовочном файле (я не хочу предполагать, что это конкретное.Файл c сначала использует структуру и заполняет ее в другом месте. Мне бы очень хотелось, чтобы константы были определены в файле .h)
Когда я начинал, это казалось таким простым, но я не вижу хорошегоспособ определения глобально доступной константы short int в заголовочном файле ... кто-нибудь знает способ сделать это?
спасибо!