Hlavní navigace
Články
Zprávičky
Fórum
Podpořte Root
Školení
Galerie
Kalendář
Root do mailu
RSS
Blogy
Knihy
Speciály
Manuály
Licence
Jak na Linux
Zdroják
Hledat
Přihlásit
Zůstat přihlášen
Registrovat
Zapomenuté
heslo
nebo
jméno
Root.cz
»
Témata
»
C, C++
C, C++
1
–
30
/
122
První strana
Předchozí strana
1
2
3
4
5
Následující strana
Poslední strana
Nuitka: pokročilý AOT překladač jazyka Python
Na články o AOT překladačích (mypyc a Cython) i o JIT překladačích (Numba) dnes navážeme a celé téma dokončíme. Popíšeme si totiž některé možnosti nabízené AOT překladačem nazvaným Nuitka.
Pavel Tišnovský
23. 5. 2024
Počet nových komentářů
22
Doba čtení:
24 minut
Pohodlná práce s formátem JSON v C++ díky knihovně nlohmann/json
Tento článek pojednává o knihovně nlohmann/json, která přináší formát JSON do C++. Formát JSON je textový formát pro zápis dat. Díky tomu může sloužit pro přenos dat mezi komponentami bez ohledu na technologii.
Lukáš Liebzeit
22. 5. 2024
Počet nových komentářů
50
Doba čtení:
5 minut
Nástroj Cython a typové anotace podporované Pythonem
Cython je AOT překladač Pythonu, který nově podporuje jak původní syntaxi nástrojů Cython/Pyrex, tak i zápis s dekorátory a typovými informacemi kompatibilní s Pythonem. Právě touto problematikou se budeme zabývat.
Pavel Tišnovský
21. 5. 2024
Počet nových komentářů
4
Doba čtení:
31 minut
Optimalizace async. parseru JSON v C++20
blog
Toto je dodatek k předchozímu článku o parsování JSON pomocí korutiny. Původním záměrem byl spíš benefit asynchronního zpracování. Diskutéři pod článkem mě donutili podívat se na možnosti optimalizace na rychlost.
Redakce
9. 5. 2024
Asynchroní parsování JSONu v C++20
blog
Tento článek je ukázkou a malým cvičením na korutiny. Ukážeme si, jak napsat parser JSONu jako korutinu v C++20.
Redakce
4. 5. 2024
Sdílení objektů mezi vlákny v C++20 (II)
blog
Tento článek je volným pokračování předchozího článku Sdílení objektů mezi vlákny jednoduše v C++20. Tentokrát se podíváme na jiné řešení, které má ambice se dostat do normy C++26.
Redakce
26. 4. 2024
Asynchronní cykly v C++20
blog
Pro podporu asynchroních cyklů C++20 byl navržen příkaz for co_await. Problém je, že nakonec se tento návrh do normy nedostal. Máme nějakou náhradu?
Redakce
15. 4. 2024
Kouzlo datových typů Decimal32, Decimal64 a Decimal128
V normě IEEE 754–2008 nalezneme kromě klasických numerických formátů i popis typů s desítkovým základem exponentu. Jedná se o typy Decimal32, Decimal64 a Decimal128. Ty jsou taktéž podporovány některými překladači céčka.
Pavel Tišnovský
9. 4. 2024
Počet nových komentářů
48
Doba čtení:
39 minut
RVO pro korutiny (C++20)
blog
RVO (Return Value Optimization) je v C++ standardizované od verze 17. Takže se v tomhle pohledu jedná celkem o novinku. Přesto se překladače snažily o tento typ optimalizace před verzí 17.
Redakce
1. 4. 2024
TinyCC Assembler: assembler, jenž je součástí Tiny C Compileru
Dnes navážeme na článek, v němž jsme si mimo jiné popsali překladač Tiny C Compiler. Tento překladač totiž obsahuje i vlastní assembler nazvaný TinyCC Assembler, který se podobná známému GNU Assembleru.
Pavel Tišnovský
26. 3. 2024
Počet nových komentářů
16
Doba čtení:
32 minut
Knihovna libcoro – korutiny pro C++20 (revize)
blog
Po určité době jsem se rozhodl revidovat svou knihovnu pro práci s korutinami v C++20. Během používání jsem si zapsal postřehy z dosavadního vývoje a tak vznikla nová knihovna která se snaží řešit některé problémy předchozí verze.
Redakce
25. 3. 2024
Propojení Pythonu s nativními knihovnami s využitím balíčku ctypes
Již jsme se setkali s propojením Pythonu s nativními knihovnami naprogramovanými (například) v C. Použili jsme přitom balíček cffi. Ovšem někdy může být užitečné využít namísto toho standardní balíček ctypes.
Pavel Tišnovský
27. 2. 2024
Počet nových komentářů
12
Doba čtení:
54 minut
Google dává 1 milión dolarů na zlepšení interoperability mezi jazyky C++ a Rust
Google oznámil, že poskytuje nadaci Rust Foundation rovný milión dolarů za účelem zlepšení interoperability mezi programovacími jazyky C++ a Rust. Věc byla pojmenována Interop Initiative a cíl je jednoduchý: poskytnout světu řešení, které umožní co…
David Ježek
6. 2. 2024
Počet nových komentářů
55
Trable s moduly v C++20/23
blog
Již v roce 2020 jsme se dočkali nového nástroje na organizaci zdrojových souborů u velkých projektů v C++, a to jsou moduly. V tomto článku se pokusím formulovat svůj rozporuplný pocit, který z toho mám.
Redakce
15. 1. 2024
Mělo by se jádro předělat z C do C++?
V roce 2018 poslal David Howells z Red Hatu do LKML sadu 45 změn, které umožní linuxové jádro kompilovat pomocí C++, konkrétně vyžadoval alespoň g+±8. Od té doby se toho moc nedělo, až po téměř šesti letech v úterý vývojář jádra H. Peter Anvin…
Jan Fikar
12. 1. 2024
Počet nových komentářů
59
Propojení Pythonu s nativními knihovnami s využitím balíčku cffi (3)
Ve třetí části článku o propojení Pythonu s nativními knihovnami s využitím balíčku cffi se budeme zabývat tím, jakým způsobem je možné do funkce naprogramované v jazyku C předat pole s prvky různých typů.
Pavel Tišnovský
8. 6. 2023
Počet nových komentářů
26
Doba čtení:
30 minut
Analýza zdrojového kódu nástrojem gcov
V tomto článku se seznámíme s velmi užitečným nástrojem nazvaným gcov. Jedná se o jeden z nástrojů z ekosystému GCC, jenž slouží pro zjištění, které řádky v programovém kódu jsou skutečně volány (například z testů) a které nikoli.
Pavel Tišnovský
18. 4. 2023
Počet nových komentářů
2
Doba čtení:
32 minut
C++20: kde bydlí korutiny
blog
V předchozích článcích jsem se snažil vysvětlit co jsou to korutiny v C++20, jak jsou implementované interně a jak je správně budit. Bystrý programátor by se měl také zajímat o to, kde je uložen stav korutiny.
Redakce
18. 2. 2023
Vývoj pro osmibitovou herní konzoli NES s využitím překladače jazyka C (dokončení)
V poslední části seriálu o vývoji her pro historickou osmibitovou herní konzoli NES dokončíme popis tvorby her a dalších aplikací pro NES s využitím překladače programovacího jazyka C společně s knihovnou NESlib.
Pavel Tišnovský
19. 1. 2023
Počet nových komentářů
2
Doba čtení:
85 minut
Vývoj pro osmibitovou herní konzoli NES s využitím překladače jazyka C
V dalším článku o konzoli NES si ukážeme, jak namísto assembleru (nebo společně s assemblerem) využít i programovací jazyk C. Konkrétně si ukážeme použití překladače CC65 společně s knihovnou NESlib.
Pavel Tišnovský
10. 1. 2023
Počet nových komentářů
15
Doba čtení:
49 minut
BaCon: transpřekladač z jazyka BASIC do jazyka C
Představíme si možnosti poskytované nástrojem BaCon. Jde o transpřekladač jazyka BASIC (resp. jeho rozšířené podoby) do jazyka C. Tento nástroj je zajímavý proto, že umožňuje prostudovat různé aspekty a problémy transpřekladu.
Pavel Tišnovský
6. 12. 2022
Počet nových komentářů
22
Doba čtení:
39 minut
Převody zdrojových kódů z jazyka C do jazyka Go
Seznámíme se s poněkud neobvyklým, ovšem potenciálně velmi užitečným projektem. Tento projekt se jmenuje c4go a jak již jeho název může napovědět, jedná se o nástroj určený k převodům (transpřekladu) zdrojových kódů napsaných původně v jazyku C do jazyka Go.
Pavel Tišnovský
15. 11. 2022
Počet nových komentářů
28
Doba čtení:
52 minut
Jak na korutiny v C++20
blog
Když před zhruba dvěma roky konečně vyšla norma C++ verze 20, těšil jsem se, jako asi každý, jak si osahám a vyzkouším nové vlastnosti, které měly posunout jazyk zase trošku dál do budoucnosti.
Redakce
17. 10. 2022
Užitečné rozšíření GCC: podpora SIMD (vektorových) instrukcí
S rostoucím počtem tranzistorů na ploše mikroprocesorů (Moorův zákon) se mění i jejich architektura. Kromě přidávání jader dochází k zavádění instrukcí SIMD, které dokážou jednu operaci provádět s celým vektorem dat.
Pavel Tišnovský
6. 10. 2022
Počet nových komentářů
36
Doba čtení:
49 minut
Překladače programovacího jazyka C pro historické osmibitové mikroprocesory (2)
Ve druhém článku o překladači cc65 si řekneme, jak můžeme využít některé jeho speciální vlastnosti, například možnost mixovat kód psaný v jazyku C s assemblerem (na úrovni zdrojového kódu) nebo použití pseudoproměnných.
Pavel Tišnovský
29. 9. 2022
Počet nových komentářů
12
Doba čtení:
39 minut
Překladače jazyka C pro historické osmibitové mikroprocesory
O programovacím jazyku C se někdy s nadsázkou říká, že je to „přenositelný assembler“. Programy psané v C skutečně mohou být velmi efektivní, ovšem do značné míry záleží na kvalitě céčkového překladače.
Pavel Tišnovský
15. 9. 2022
Počet nových komentářů
11
Doba čtení:
33 minut
Carbon: nový jazyk od Googlu má být nástupcem C++
Google představil nový programovací jazyk Carbon, navržený jako bezpečnější náhrada za C++. Deklarovaným cílem je kromě bezpečnosti také snadná interoperabilita s C++, koncepčně se jazyk podobá Rustu. Projekt je v experimentálním stadiu,…
Calculon
23. 7. 2022
Počet nových komentářů
120
Programovací jazyk K: důkaz, že mezi námi žijí mimozemšťané
Dnes se ve stručnosti seznámíme s programovacím jazykem K. Programy zapsané v tomto jazyce jsou velmi hutné (doslova několik znaků), ovšem mají podobu šumu na lince nebo zprávy poslané mimozemšťany.
Pavel Tišnovský
21. 7. 2022
Počet nových komentářů
67
Doba čtení:
34 minut
Kouzlo minimalismu: vývoj her a demo programů pro herní konzoli NES
Na sérii článků o vývoji her (či spíše hříček) pro osmibitovou herní konzoli Atari 2600 s využitím Batari Basicu dnes nepřímo navážeme. Řekneme si totiž, jak vyvíjet hry a dema pro slavnou a přelomovou herní konzoli NES.
Pavel Tišnovský
2. 6. 2022
Počet nových komentářů
20
Doba čtení:
30 minut
Úvahy o Borrow Checkeru pro C++
Server This Week in Rust přinesl odkaz na zajímavý článek z pera tří vývojářů projektu Chromium. Autoři v něm rozvíjejí myšlenku implementovat v C++ stejná, nebo alespoň podobná pravidla paměťové bezpečnosti na úrovni typového systému, jako má Rust…
klokan
25. 9. 2021
Počet nových komentářů
175
1
–
30
/
122
První strana
Předchozí strana
1
2
3
4
5
Následující strana
Poslední strana
Zprávičky
X trénuje AI Grok na vašich datech, jak to vypnout?
X (dříve Twitter) používá veřejné příspěvky uživatelů k trénování své umělé inteligence Grok. Podmínky používání to dovolují od září minulého…
Včera
Počet nových komentářů
1
Nakonec v jádře 6.11 bude getrandom() ve vDSO
Jason Donenfeld, vývojář WireGuardu, již dva roky pracuje na getrandom() ve vDSO, aby bylo možné náhodná čísla v user-space generovat rychleji…
Včera
Umělá inteligence Google má stříbrnou medaili v letošní Mezinárodní matematické olympiádě
Mezinárodní matematická olympiáda (IMO) je soutěž pro středoškolské studenty mladší 20 let. Včera Google DeepMind oznámil, že jeho dvě umělé…
Včera
Další zprávičky
Napište zprávičku