Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.
Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.
Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.
Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.
Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.
Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).
Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.
Do not shift an expression by a negative number of bits or by a number greater than or equal to the precision of the promoted left operand.Já právě nevím, jestli tohle chápu dobře. Mně se zdá, že mluví už o tom povýšeném operandu (tedy v mém případě by to už byl int, na který bude uint_least16_t povýšen, na jiné platrmě, kde int je 16bit povýšen nebude, to je taky problém). Jak nejlépe vyřešit tuto situaci, aby nedocházelo k UB?
#include "limit.h"
if (sizeof(a)*CHAR_BIT>16)
{
a=a<<16;
}else
{
a=0;
}
B)nebo podmíněným překladem, trošku čistější z hlediska generovaného kódu ale někomu se podmíněný překlad nelíbí.
#include "stdint.h"
#ifdef UINT_LEAST16_MAX > 65535
a=a<<16;
#else
a=0;
#endif
p.s. include nema mit uvozovky ale znamenko vetsi mensi ale nejak mi to zdejsi forum nechce pustit
p.s. include nema mit uvozovky ale znamenko vetsi mensi ale nejak mi to zdejsi forum nechce pustit
Je potřeba je zapsat entitami < resp. > (což udělají tlačítka "<" a ">" nad formulářem).
uint_least16_t x;
x <<= 8U;
x <<= 8U;
Optimalizují překladač by to mohl přeložit i docela rozumně. Např. gcc při O2 nahradí posuny XORem registru pro uint16_t a shiftem o 16 pro uint32_t.
int a;
short i; //minimalne 16b
a = i << 16; // může delat chybu, pokud bude short 16b
a = ((int) i) << 16; // je v poradku
Kdyby radsi ucil lepsi jazyky kde tyto problemy neexistuji :D
Tak to je nekde neco spatne stejny kod v C a v D by mel byt vetsinou skoro uplne stejne vykony. Snad nikdy jsme nedosahl nijak horsiho vykonu. Samozrejme je potreba srovnavat GDC a GCC, pripadne clang ldc nebo dmc a dmd.
Tiskni
Sdílej: