Компилятор всегда компилирует неиспользуемую функцию, когда в cpp

даже если я не использую эту функцию, она всегда использует 4 байта ОЗУ, если функция реализована в cpp (из-за attachInterrupt ()). Если я сделаю это встроенным в .h, он ничего не скомпилирует

.h
// attach the interrupt function
void IRLbegin(const uint8_t interrupt);

.cpp
void IRLbegin(const uint8_t interrupt){
// attach the function that decodes the signals
attachInterrupt(interrupt, IRLinterrupt, CHANGE);
}

Что я могу сделать против этого? Я думаю, что писать все в формате .h — это не хороший стиль кодирования. Я не могу изменить настройки оптимизации из-за среды Arduino.

1

Решение

Функция, которая просто вызывает другую функцию, прекрасно встроена в заголовок. Попробуйте версию IDE 1.5.8, так как она имеет более новый компилятор и, как правило, встроит небольшие функции в найденный мной .CPP.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector