Byla vydána beta verze Ubuntu 25.04 s kódovým názvem Plucky Puffin. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.04 mělo vyjít 17. dubna 2025.
Textový editor Neovim byl vydán ve verzi 0.11 (𝕏). Přehled novinek v příspěvku na blogu a poznámkách k vydání.
Živé ISO obrazy Debianu Bookworm jsou 100 % reprodukovatelné.
Boudhayan "bbhtt" Bhattcharya v článku Uzavření kapitoly o OpenH264 vysvětluje, proč bylo OpenH264 odstraněno z Freedesktop SDK.
Představeny byly nové verze AI modelů: DeepSeek V3-0324, Google Gemini 2.5 a OpenAI 4o Image Generation.
XZ Utils (Wikipedie) byly vydány ve verzi 5.8.0. Jedná se o první větší vydání od backdooru v XZ v loňském roce.
Byla vydána nová verze 0.40.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 2.20 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.3.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je interaktivní HTML BOM (Bill of Materials) a počáteční podpora Rustu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Minulý měsíc Hector "marcan" Martin skončil jako upstream vývojář linuxového jádra i jako vedoucí projektu Asahi Linux. Vývoj Asahi Linuxu, tj. Linuxu pro Apple Silicon, ale pokračuje dál. Byl publikován březnový přehled dění a novinek z vývoje. Vývojáře lze podpořit na Open Collective.
float x;
unsigned short int y[10];
y[5]=//první půlka x;
y[6]=//druhá půlka x;
a pak zase spojit y[5] a y[6] do x.
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
float x;
unsigned short int y[10];
int i;
memset(y, 0, sizeof(unsigned short int)*10);
x = M_PI;
printf("pred x = %f\n", x);
memcpy(y+5, &x, sizeof(x));
//y[5]=//první půlka x;
//y[6]=//druhá půlka x;
x = 0.0;
memcpy(&x, y+5, sizeof(x));
//y[5]=//první půlka x;
//y[6]=//druhá půlka x;
printf("po x = %f\n", x);
return 0;
}
union
- viz příklad.
y[5] = x & 0xffff; y[6] = x >> 16; x = (y[6] << 16) | y[5];
Elegance C-ka :)
y[5] = * (unsigned short int *) &x; y[6] = * ((unsigned short int *) &x + 1); ... * (unsigned short int *) &x = y[5]; * ((unsigned short int *) &x + 1) = y[6];Nebo tak:
* (float *) &y[5] = x; ... x = * (float *) &y[5];
v c je taky dostupna union. Takze:
typedef union {
float fCislo;
uint16 au16Cisla[2];
} CisloVLoterii;
...
CisloVLoterii *pCislo;
...
pCislo = (CisloVLoterii *)&y[5];
pCislo->fCislo = x;
printf('%d %d\n', pCislo->au16Cisla[0], pCislo->au16Cisla[1]);
...
Tiskni
Sdílej: