C++ modules in bare metal.
stm32l4x2 | ||
.gitignore | ||
io.cpp | ||
LICENSE | ||
main.cpp | ||
Makefile | ||
morse.cpp | ||
README.md | ||
sys.cpp | ||
tabgen.cpp |
Module
C++ modules in bare metal.
Sice je to celkem blbost, ale jde o to ukázat, že už lze použít C++ moduly i v bare metal. Sice se to musí kompilovat clang ve verzi 18. (a asi i vyšší), postup je poměrně komplikovaný a nepochopitelný, ale funguje to. Zjevně je to hodně experimentální.
Moduly mohou mít hierarchickou strukturu a opravdu nejsou potřeba něco jako hlavičky. Ovšem distribuovat takto knihovny jednoduše nejde. Prostě musí k tomu být zdrojáky a ty je potřeba přeložit specifickým (a dost komplikovaným) způsobem. Negeneruje to žádný overhead, alespoň v tomto jednoduchém příkladu.
Připadá mi to složité a k ničemu, ale to je právě důvod, proč by se to mohlo ujmout. Třeba v Arduinu.