EMBEDDED TOOLKIT
SYSTEMS R&D // DEV_TOOLS SUITE
Narzędzia (65)
c constexpr tester
SYSTEM ONLINE
Definicja: constexpr (C++11)
Znaczenie Tłumaczone na Polski
MÓGŁBYM to policzyć w czasie kompilacji, jeśli mi podasz stałe dane. Jeśli podasz mi zmienne w locie, zachowam się jak zwykła funkcja/zmienna i policzę to w locie.
Zależność od Czasu (Execution)
Opcjonalnie Compile-Time, w przeciwnym razie Run-Time
Pozycja w Pamięci (ROM/RAM)
Tak, jeśli użyjesz jej w stałym kontekście. Wartości wpadają jako hardcoded Assembler.
Kod Przykładowy w C++
📖 C++ Meta-Programming dla Embedded
Używanie C++ (zamiast czystego C) w mikrokontrolerach było kiedyś owiane złą sławą (głównie przez rzekomy narzut pamięciowy abstrakcji). Nowoczesny standard C++11, a zwłaszcza C++20, zmienia zasady gry wprowadzając wyżej wymienione słowa kluczowe.
- Dzięki
constevalmożesz napisać gigantyczne matematyczne kalkulatory z pętlami FOR, które kompilator rozwiąże w tle na swoim PC, a do mikrokontrolera wrzuci wyłączenie jedną, obliczoną stałą liczbę. - Wszędzie gdzie to możliwe dla stałych globalnych (np. preskalery) używaj w C++
constexprzamiast staromodnych makr preprocesora C#define, ponieważ constexpr jest ściśle typowane i przyjazne debuggerom GDB!