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 consteval moż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++ constexpr zamiast staromodnych makr preprocesora C #define, ponieważ constexpr jest ściśle typowane i przyjazne debuggerom GDB!