Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
. Kód (zkrácený) je následující
/* operator call prototype */
typedef void (*opCall)(opStack* );
/* operand struct */
typedef struct op {
...
union {
ImageStruct* image;
int* const;
opCall call;
} value;
}op;
/* operand stack */
typedef struct opStack {
...
rpcOperand* ptop;
rpcOperand* stack;
}opStack;
Problém je celkem jednoznačný, prototyp funkce opCall musí být první, kvůli struktuře op. Jenže ty funkce budou přistupovat k zásobníku operandů opStack, který je definován až dole.
Napadlo mě změnit prototyp funkce na void (*opCall)(void* ) a přijít o typovou kontrolu. Eventálně zásobník nepředávat parametrem (stejně to bude globální proměnná). Ale ani jedno z řešení se mi moc nelíbí. Napadá vás, jak z toho ven?
struct opStack; /* operator call prototype */ typedef void (*opCall)(struct opStack* );
Tiskni
Sdílej: