Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra.
Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.
Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.
Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.
Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.
Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).
CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.
Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Snazim se pomoci gdb debugovat program, ktery dela neco jineho nez si myslim, ze by mel delat.
a docela me prekvapilo:
305 poradi=0;
(gdb) print &poradi
$20 = (int *) 0x41401128
(gdb) s
306 vytvorpole(koren);
(gdb) print &poradi
$21 = (int *) 0x41401128
(gdb) s
vytvorpole (kmen=0x46d7250) at pipestat.c:276
276 if (kmen->mensi != NULL ) {
(gdb) print &poradi
$22 = (int *) 0x413fd288
Jaktoze je poradi pokazde neco jineho?
Jsem si jisty, ze je definovano prave jednou.
marekporadi definováno v hlavičkovém souboru?
Nechtel jsem zatezovat prehnanou delkou kodu, pokud by to bylo pro nekoho zkusenejsiho jasne a pripadne zcela v poradku.
takze:
typedef struct zaznam {
char text[MAXRECLEN];
int pocet;
struct zaznam *mensi,*vetsi;
} zaznam;
void *findexer() {
zaznam **pole;
pole = (zaznam **) malloc( sizeof(zaznam *) * (prvku) );
int poradi;
void *vytvorpole(zaznam *kmen) {
if (kmen->mensi != NULL ) {
vytvorpole(kmen->mensi);
}
//printf("---------%10d %s\n", kmen->pocet, kmen->text);
pole[poradi]=kmen;
poradi++;
if (kmen->vetsi != NULL ) {
vytvorpole(kmen->vetsi);
}
}
while (1) {
sleep(1);
if (koren != NULL) {
pthread_mutex_lock( &mdata );
int pozadi;
for (pozadi=0;pozadi<prvku;pozadi++) {
pole[pozadi]=NULL;
}
poradi=0;
vytvorpole(koren);
printf("%d*********************\n",prvku);
for (pozadi=0;pozadi<prvku;pozadi++) {
printf("%s %d\n",pole[pozadi]->text,pozadi);
}
pthread_mutex_unlock(&mdata );
}
}
}
funkce ma podle me naplnit pole[] seradenejma ukazatelama na zaznamy
marekporadi sídlí v paměti. Měl byste se akorát starat o to, že když do té proměnné něco zapíšete, tak budete z toho schopen to samé později přečíst. Jestli mezitím proměnná odtancuje na druhej konec paměti, na disk, nebo jiný počítač, do toho nešťourejte.
Jedno možné vysvětlení, proč je proměnná jinde, může být, že je to automatická proměnná na zásobníku a Vy používáte navíc vnořené funkce, což není zrovna C-standardní. Může být, že překladač tu proměnnou propasuje do té vnitřní funkce tak, že jí skopíruje na jiné místo na stacku (a pak zpět). Ale to jen hádám. Podstatný je odstavec číslo jedna.
Takze chybu mam.
Alokace pole musi byt v tom cyklu, kde se testuje, jestli uz existuje koren a zase se to musi vzdy uvolnit.
Jak jsem to psal postupne, tak jsem si to chtel ze zacatku jenom vyzkouset a predpokladal jsem, ze kdyz tu funkci zavolam, tak uz mam nactene vsechny testovaci zaznamy. To bylo bohuzel chyba - zaznamy se nactou az v tom sleepu. A ja jsem mel tim padem naalokovano do pole 0. A ukazovalo to na to same misto, kam se naalokovalo poradi a za nej prvni zaznam. Takze pole se zapisovalo do poradi a prvniho potom alokovaneho zaznamu.
Sice to nevysvetluje to &poradi, ale to me vlastne i podle pht nemusi vubec trapit.
Pouceni: kdyz se pise vicevlaknove, tak nema moc smysl neco zkouset, dokud neni dopsan cely logicky blok
marekjsem si to chtel ze zacatku jenom vyzkousetJe lepší programy vyzkoušet tak, že napíšete automatický testovací kód. Pak obvykle víte přesně co se v testovaném programu děje.
Tiskni
Sdílej: