Multiplatformní multimediální knihovna SDL (Simple DirectMedia Layer) byla oficiálně vydána v nové major verzi 3 (3.2.0). Změny jsou popsány v README pro migraci aplikací z SDL 2 na SDL 3.
Wine bylo po roce vývoje od vydání verze 9.0 vydáno v nové stabilní verzi 10.0. Přehled novinek na GitLabu. Vypíchnuta je nová architektura ARM64EC a podpora High DPI škálování.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil nástroj deduplidog pro odstranění duplicitních souborů.
Společnost DeepSeek představila (𝕏) AI model DeepSeek-R1 (Hugging Face) srovnatelný s OpenAI o1 a uvolnila jej pod open source licencí MIT, tj. zdarma i pro komerční použití.
GKrellM (GNU Krell Monitors, Wikipedie), tj. grafická aplikace pro sledování systémů a různých událostí, byla po pěti a půl letech vydána v nové verzi 2.4.0. Přehled novinek na Gitea.
Americká první dáma Melania Trumpová vydala v předvečer manželovy inaugurace vlastní kryptoměnu. Jmenuje se $Melania. Donald Trump vydal vlastní kryptoměnu $Trump den před manželkou.
GNU Project Debugger aneb GDB byl vydán ve verzi 16.1. Podrobný přehled novinek v souboru NEWS.
Po 9 týdnech vývoje od vydání Linuxu 6.12 oznámil Linus Torvalds vydání Linuxu 6.13. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Odstraněn byl souborový systém ReiserFS.
19. ledna 2038 přeteče hodnota time_t na 32bitových systémech, na vyřešení problému roku 2038 (Y2K38) tedy zbývá 13 let. Např. Debian v uplynulém roce přešel na 64bitový čas. Bernhard Wiedemann z openSUSE sdílí chyby v sestavení rozšířeného softwaru.
Byla vydána druhá opravná verze 21.2 v dubnu loňského roku vydané verze 21 multimediálního centra Kodi (dříve XBMC, Wikipedie) s kódovým označením Omega.
Specifikace je v tomto stejně nejasná jako a protože OpenGL. Mně z toho vyplývá, že je tím myšleno int32_t s omezením, že nesmí nést zápornou hodnotu.
Z pohledu uživatele knihovny to je hnus. To uznávám. Z pohledu definice ABI knihovny je ale důležité mít přesnou specifikaci.
Obávám se, že jakýkoliv rozumný datový formát se gumovým typům (int, size_t) zdaleka vyhne.
Když už jste nakousl fread(), tak ta je ještě příčetná v tom smyslu, že vrací jen kladné hodnoty. Jsou funkce, které při chybě vrací size_t(-1).
Problém se často řeší při překladu. Otestuje se, zda-li jsou typy kompatibilní, když ne, překlad selže. V lepším případě se přetypování nahradí makrem, které pro kompatibilní typy nic nedělá, pro nekompatiblní vloží test na rozsah. (Pokročilé překladače dokáží zbytečné testy na rozsah vyoptimalizovat pryč.)
Jinak souhlasím, že tyto chyby se často neřeší a pak vyplavou v nejhorší čas. Třeba v poslední verzi pcre se přetypovává ukazatel z long int na int. Což fungovalo, dokud jsme se nepokusili knihovnu přeložit na big endian stroji. Pak se začala dít kouzla, jako segfault kvůli vyčerpání zásobníku :)
Obávám se, že jakýkoliv rozumný datový formát se gumovým typům (int, size_t) zdaleka vyhne.Pokud se jedná o formát nějakého typu souboru, či něco přenášeného přes síť, tak ano, souhlasím. Ale pokud má knihovna možnost pracovat s pamětí (např. u OpenAL přehrát zvuk, co je v paměti), tak by pro určení velikosti měli k tomu použít příslušný typ (v tomhle případě jednoznačně size_t, který je přesně k tomu určen). Navíc co nezpůsobí žádné nekompatibility, protože knihovna se stejně pro novou architekturu musí přeložit, stejně jako program ji využívající. Ale asi se nemá cenu hádat. Asi prostě vezmu zdroják OpenAL, trochu o upravím a hold to nebudu vydávat za implementaci OpenAL, ale pojmenuju to nějak.
Jsou funkce, které při chybě vrací size_t(-1).
Tak to ale přece není záporná hodnota ... size_t je definovaný jako neznaménkový typ.
Jinak koukal jsem na wikipedii a tam se píše, že OpenAL 1.0 vyšlo v roce 2000, nevidím problém, proč nemohli v tomto roce použít (u)intX_t či size_t, v tu dobu to byly standardem C99 definované typy ... a size_t už v C89
Tiskni Sdílej: