Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Понедельник
22 июля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
1002526
Топик полностью
LightElf
(08.05.2020 10:21, просмотров: 231)
ответил
fk0
на
В отдельном модуле (.c) определить переменную как, например, int x. В хидерах определить как extern const int x. Переменная будет читаема, но не записываема. Для изменения переменной в том же отдельном модуле, где определена переменная, сделать специальную функцию и разместить её декларацию в хидерах. Преимущество перед твоим методом: доступ на чтение более легковесный (чтение ячейки памяти, вместо вызова функции). Работает только в C, или нужно добавлять extern "C"
только в хидере еще в #ifdef обернуть желательно. Типо такого:
#ifdef MYVAR_WRITE_ACCESS int mayvar; #else extern const int myvar; #endif
Не надо делать мне как лучше, оставьте мне как хорошо
Ответить