Vy ale umíte odstartovat flame war, žejo :-D
Zatrollím kontra:
s tím k čemu je ta věc určená, by nepotřebovala málem ani libc :-)
Jasně běží v user space a má být konfigurovatelná, tak se asi musí bavit s filesystémem, možná trochu logovat...
Autotools mi připadá jako overkill - asi spíš na ohmatání build environmentu no...
Vím že dneska by to mělo být napsáno v javascriptu nebo lua s konfigurací v XML nebo YAMLu a distribuováno ve flatpaku nebo jako VM appliance...
A ty zjevne absolutne nechapes, ze zadnej procesor ve finale stejne nic jinyho nez goto neumi. Takze pouzivat to v kodu neni nic proti nicemu. Spis se tak zaridi zcela jednoznacnej preklad.
To ze ten kod pak Ty nechapes neznamena ze nikdo.
Navrhovat pouzivani C++ muze tak leda nekdo, kdo vzivote nepsal nic kolem HW a nic od ceho by se cekalo, ze to bude maly, nenarocny a rychly.
Nedávej mi prosím do úst něco, co jsem neřekl.
Opakuji pro lidi co neumí číst: Pokud mi konstrukce prog. jazyku umožňuje dělat cykly a větvení, tak to je lepší než goto. Sám jsem psal, že pro error handling v C je goto v pořádku, ale použít ho místo else bloku už mi ok teda nepřijde. Tobě asi jo...
Jinak já dělám v assembleru každý den, ale fakt nechápu, proč bych měl konstrukce z asm replikovat v programovacím jazyku, který má zabudovanou podporu pro cykly a větvení. Takže si dělej goto kde chceš, ale já už jsem dál...
No tak jestli tohle měl být pokus o nastartování dalšího flame, tak to chápu, protože kód pro kernel musí být především efektivní, tedy rychlý. A může to být na úkor čitelnosti, pokud zisk v rychlosti stojí za to. A ano, pak takový kód nemůže udržovat kdejaký jouda, co viděl kód jen při "dělání" semestrálky, ale někdo, kdo je schopen se o takový kód opravdu starat.
A jestli začneme psát kód tak, aby mu lépe rozuměl nějaký pomíjivý a nedokonalý LLM, který za půl roku bude úplně jiný a jinde, tak si opravdu jako civilizace nezasloužíme nic jiného, než vychcípat.
Hele, díval jsem se na ty zdrojáky a musím říct, že na spoustě míst bych raději použil konstrukce jazyka raději než goto. Na druhou stranu, to goto je použito celkem střízlivě není to na úkor „čitelnosti“ kódu - myslím tím, že je stále zřejmá logika toho kódu. Teď. Otázka je, jestli se to povede udržet i s postupujícím vývojem.
Resi se zde same blbosti, ale podle me je to dost k nicemu, dobra, kdyz vam nejde o vykon, ja baterku uz fakt neresim, mam ARM od Apple a kdyz chci vice baterky, tak mam powerbanku, co se k notebooku pripoji jako dalsi baterka, az tak jsou ty notebooky a powerbanky chytre - treba Xioami nebo baseus dam k huawey notebooku a co nevidim, nevidim ze by neefektivne nabijela moji baterku, ale objevi se novy akumulator a ten se stal primarnim - WOW
Ale hlavne, ten program neni schopen zareagovat na pozadavky zvyseni vykonu, nebot zareaguje POZDE - takze system se pak jevi neagilni, s vysokymi latencemi, bude se to sekat a pak zase rozjizdet
Mozna mam hloupou powerbanku a/nebo hloupej notebook, ale nenachazim vyhodu toho ze by se pripojena powerbanka tvarila jako primarni baterie :-)
Ja pripojim PowerBanku Fox Halo 96K [307Wh] pres USB-C k ThinkPad T480, pokud interni baterie NB nejsou plne nabite tak se obe postupne dobiji, ale nepouzivaji se a provoz bezi primo z PowerBanky... :-)
Taky jsem si říkal, jestli by tohle neměl dělat task scheduler nebo něco těsně kolem. Ta věc co žije v kernelu a spouští se pravidelně podle periodického časovače, nebo tickless, nebo naopak i častěji než je perioda (při jiných nesouvisejících interruptech) a vidí při každém svém "tiku", kolik procesů má ve stavu "ready" a kolik času od posledně byla aktivní jádra idle.