Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Byla publikována Výroční zpráva Blender Foundation za rok 2024 (pdf).
Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.
Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.
Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.
static const char INFO = 'I';Pokud to správně chápu, jsou dvě možnosti:
static const char INFO;a v cpp souboru potom doplnit
const char INFO = 'I';
/planner.cpp:45: undefined reference to `Action::INFO'V případě druhém hází chybu ostatní jednotky, do kterých hlavičkový soubor dotyčné třídy includuju, konkrétně
error: ‘Action::INFO’ cannot appear in a constant-expressionv příkazu switch jako větvící hodnoty.
Nejsou ty chybove hlasky prohozene?
Spravne reseni je v cpp souboru mit
const char Trida::INFO = 'I';
a linkovat vysledny objektovy soubor ke vsem ktere includuji header.
To bude nejspis tim ze switch nejde pouzit na neco co se neda overit pri kompilaci (on tu hodnotu bude znat az pri linkovani, zejo).
Ta staticka hodnota rovnou v header souboru byva problem kvuli tomu, ze potom existuje tolik instanci te staticke promenne, kolik je uspesnych include toho kodu.
Nezbyva nez bud pouzit ten enum nebo to udelat #define direktivou - kazdopadne ale v hlavickovym souboru.
Vazne se u const doplnuje pro clenske promenne static? To se mi nejak nezda :/. Imho const clenske promenne maji jediny rozdil - lze je inicializovat pouze v inicializacnim bloku konstruktoru, a v kodu je lze pouzit pouze v const kontextu.
S navrhem pouzit enum souhlasim :)
const char foo = 'F';
const se implicitne linkuje jako static, takze je to stejne, jako byste napsal:
static const foo = 'F';
Proto to pri linkovani napise chybu. Duvod proc to tak je, je abyste mohl psat konstanty do hlavickovych souboru, jakasi nahrada za:
#define foo 'F'
enum e { INFO = 'I' // atd... };
class Trida { static const INFO = 'I'; ...do všech cpp, kde to používám? To by mělo být správně, ne? Co je na tom přesně špatně? Nějak se mi nechce věřit, že bych ještě navíc potřeboval extern.
static const char INFO = 'I';
Statická proměnná musí být někde v paměti, proto je třeba ji vytvořit v právě jednom .cpp souboru a tam ji i inicializovat. Jinak by různé soubory includující stejný header nevěděly, kdo ji teda mám ve své paměti.
Jestli to chcete za každou cenu mít jen v .hpp, tak si to definujte jako metodu: const char getINFO(void){ return 'I'; }, to se pak už nikde definovat nemusí, bude z toho inline funkce.
Tiskni
Sdílej: