Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.
Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.
Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.
Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.
Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.
Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.
Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »
#include <stdio.h>
char *string_hexnum(int number)
{
char mask[] = "0123456789ABCDEF";
char str[12];
int i = 10;
str[11] = '\0';
if (number < 0){
puts("ERROR: number is negative\n");
return 0;
}
if (number == 0){
str[i--] = '0';
} else {
while (number != 0){
str[i--] = mask[number % 16];
number /= 16;
}
}
str[i--] = 'x';
str[i] = '0';
return str+i;
}
void print_hexnum(int number)
{
char* pnt;
puts("test");
pnt = string_hexnum(number);
puts(pnt);
puts("test");
}
int main(void)
{
print_hexnum(888);
return 0;
}
Problemom je, ze sa to cislo nevypise, zostane prazdny riadok. Nechcem na to pouzit ziadnu funkciu z kniznice. Ked som to debuggoval, tak som videl, ze do pamete sa vsetko uklada ako ma. pnt ukazuje na prvy znak retazca - '0'.
Dakujem.
Řešení dotazu:
Chyba je v tom, ze vracite odkaz na lokalni promennou str. Bud pouzijte malloc/free, anebo zmente deklaraci char str[12] na static char str[12]. Pak to ovsem nebude fungovat v multithread programech, ale to, tusim, ani nechcete :)
return str+i;Nemůžete vracet ukazatel na lokální proměnnou - jakékoliv další volání funkce zásobník přepíše. V lepším případě to nebude fungovat, v horším případě to upadne.
Eclipse mi vyhodil warning, ze vraciam adresu lokalnej premennej, ale uspesne som to ignoroval.
Este raz dakujem.
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
unsigned long iCislo;
if (argc > 1) {
iCislo = atoi(argv[1]);
printf("Cislo %s je hexa: 0x%X\n", argv[1], iCislo);
return(0);
}
printf("Malo parametru!\n");
return(1);
}
Nevim, jestli je 2x rozumne pouzit %X na 'unsigned long'.
printf("%lx\n", atol(argv[1]));
^ ^
A return není funkce.
Já céčko moc nepoužívám, já raději Python.
Tiskni
Sdílej: