Programovací jazyk Python byl vydán v nové major verzi 3.12.0. Podrobný přehled novinek v Changelogu.
Linux ve Scratchi. Ne Linux v linuxové distribuci Linux From Scratch, ale Linux bežící v emulátoru procesoru RISC-V ve vizuálním programovacím jazyce Scratch.
Dnes ve 12 hodin začal další ročník CTF (Capture the Flag) soutěže The Catch: "Tentokrát nás kolegové z Forenzní laboratoře zavedou na loď plnou sofistikovaných síťových technologiích, kde soutěžící budou muset zvládnout náročné úkoly. Loď nese jméno našeho skvělého kolegy Josefa Vericha – síťového guru. Tradičně se soutěž koná v říjnu – měsíci kybernetické bezpečnosti."
Konference LinuxDays 2023 proběhne již tento víkend 7. a 8. října v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek a workshopů.
Netflix v pátek 29. září odeslal poslední film na DVD (YouTube). Společnost dnes známá jako streamovací služba začala před 25 lety jako půjčovna filmů na DVD. Zákazník si DVD objednal na webových stránkách, odesláno mu ale bylo klasickou poštou. Po zhlédnutí jej vložil do obálky a poslal zpět.
Zero Day Initiative zveřejnila informace o 6 bezpečnostních chybách (1, 2, 3, 4, 5, 6) v MTA Exim. Nejvážnější z nich CVE-2023-42115 má CVSS 9.8. Na opravě chyb se pracuje.
Knihovna libvpx byla vydána ve verzi 1.13.1. Řešena je kritická bezpečnostní chyba CVE-2023-5217 (heap buffer overflow in vp8 encoding). Chyba je již opravena také v Chrome / Chromium 117.0.5938.132 a Firefoxu 118.0.1.
Balíček kmod s nástroji pro práci s linuxovými moduly byl vydán ve verzi 31. Nově umí modprobe zavést modul nacházející se v libovolném adresáři (# modprobe ./drivers/gpu/drm/i915/i915.ko).
Adventura Trüberbrook je na portále GOG.com zdarma, akce trvá do 2. října.
Sound Open Firmware, projekt Linux Foundation, open source audio DSP firmware a SDK, byl vydán ve verzi 2.7.0. Z novinek lze vypíchnout podporu platformy AMD Van Gogh.
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: