C++ modules in bare metal.
Find a file
2024-01-20 13:09:36 +01:00
stm32l4x2 add files 2024-01-16 16:14:54 +01:00
.gitignore compress morse code 2024-01-19 13:04:24 +01:00
io.cpp add morse code 2024-01-18 11:42:56 +01:00
LICENSE Initial commit 2024-01-16 16:10:55 +01:00
main.cpp config led in main 2024-01-19 15:52:53 +01:00
Makefile config led in main 2024-01-19 15:52:53 +01:00
morse.cpp chain morse operator << 2024-01-20 13:09:36 +01:00
README.md compress morse code 2024-01-19 13:04:24 +01:00
sys.cpp add systick 2024-01-16 20:05:11 +01:00
tabgen.cpp config led in main 2024-01-19 15:52:53 +01:00

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.