Меньше программа - больше скетч
Работаю над программой, состоящей из нескольких классов.
Я уменьшил размер одного класса (более или менее) на сто строк (4 кб материала)
Я ожидал меньший скетч, но на удивление он увеличен в размере (несколько байт).
Как это возможно?Это что-то с компилятором?
@alejho, 👍0
Обсуждение1 ответ
Компилятор переводит c/cpp на целевой язык ассемблера.
Чтобы сократить его, некоторые операторы языка c/cpp или ключевые слова можно использовать для сокращения кода (в c/cpp)... но механика, лежащая в основе всего этого, для перевода в сборку может генерировать больше инструкций, чем вы думали.
Возможно, было бы проще объяснить, если бы вы привели какой-нибудь пример...
Arduino - это C++, а не C., @gre_gor
да, верно, спасибо, что указали на это, я исправлю это (тем не менее, вы можете кодировать библиотеки c, если вам нужно)... а сгенерированная сборка еще хуже!, @SMFSW
- GCC msg "note: in definition of macro 'max'" сообщение об ошибке
- Есть ли константа для максимального значения Unsigned Long в компиляторе Arduino?
- Необработанный строковый литерал Arduino IDE C++ 11 имеет проблемы с // в http://, компилятор считает, что // это комментарий
- Не могу использовать uint16_t в библиотеке
- LD.ехе:linker_script.ЛД:138 не может двигаться счетчика назад | ArduinoFFT об ошибке
- Использование Arduino в качестве автономного компилятора
- Как уменьшить размер скетча?
- Существует ли компилятор с открытым исходным кодом для кодов Arduino Sketch?
если бы он все равно не использовал эти 100 строк, вы бы ничего не сохранили..., @dandavis