Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem se nově stal čínský LineShine v Národním superpočítačovém centru v Šen-čenu (NSCS) s výkonem 2,198 exaFLOPS. Z prvního místa sesadil americký superpočítač El Capitan s výkonem 1,809 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 215 místo. Karolina, GPU partition klesla na 249. místo a Karolina, CPU partition na 475. místo.
… více »Zemřel průkopník videoherní hudby Bobby Prince (Wikipedie). Složil hudbu pro hry Wolfenstein 3D, Doom, Doom II, Duke Nukem II a Duke Nukem 3D.
Počítačová hra Operace Flashpoint (Arma: Cold War Assault) od společnosti Bohemia Interactive slaví 25 let. Při této příležitosti bylo publikováno bezplatné hratelné Arma: Cold War Assault Remastered Demo a na GitHubu byly zveřejněny zdrojové kódy.
Na trh v České republice přichází HP EliteBoard G1a. Jde o plnohodnotný AI počítač integrovaný přímo do těla klávesnice, tedy zařízení, které na první pohled vypadá jako minimalistická klávesnice, ale ve skutečnosti nahrazuje klasickou počítačovou jednotku.
V lednu bylo oznámeno, že desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. O víkendu byla vydána první preview verze.
Minulý týden byl oficiálně vydán Android 17. Detaily na blogu a stránkách věnovaných vývojářům.
Dnes jde do prodeje zařízení Steam Machine. Steam Machine 512 GB za 1 039 EUR a Steam Machine 2 TB za 1 359 EUR. Do čtvrtka 25. června do 19:00 se lze zapsat na seznamy. Ty budou jednorázově náhodně slosovány, čímž bude určeno pořadí rezervací a čekacích listin.
Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.51.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek v oznámení o vydání a také na YouTube a PeerTube.
Byla vydána nová verze 2026.3.0 "Carousels & Killer Whales" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu.
#define Jmeno_makra(x, y) \
do { \
příkazy v makru \
} while (0)
error: expected identifier or ‘(’ before ‘do’
error: expected identifier or ‘(’ before ‘while’
Řešení dotazu:
#define BitArray(p, size) \
unsigned long p[(size)]; \
memset(p, 0, ((size) * sizeof(unsigned long))) \
p[0] = size;
Pokud výrazem "globální úroven" myslíš mimo jakoukoliv funkci (včetně main), tak to není oblast, kde se vykonávají příkazy a tudíž tam nemůžeš ani volat fuknkce, přiřazovat atd.; vstupním bodem C programu je právě fukce main().
Nicméně pokud chápu, o co se snažíš, tak to memset je úplně zbytečný a přiřazení zajistí inicializace pole přímo v jeho deklaraci (viz třeba C FAQ list).
Ale pozor na to, že statické pole inicializované nenulovým obsahem ti patrně skončí v celé své délce ve výsledné binárce (pokud se nebude kompiler extra snažit optimalizovat, ale nevím jestli a za jakých podmínek to dělá, gcc standardně ne).
Ale v další části projektu tomu samému makru potřebuju předat tu velikost pole pomocí proměnné.
To funguje na lokální úrovni ve funkcích naprosto skvěle.Taky řídící konstrukce jako cykly se v céčku používají jen tam, kde můžeš napsat sekvenci příkazů. Tedy pouze ve funkcích. I kód, který obsluhuje globální proměnné se provádí ve funkcích. Tak je ten programovací jazyk stavěný.
Tiskni
Sdílej: