Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.
Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.
Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.
Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou
… více »Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).
Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.
U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.
Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.
Řešení dotazu:
#include <stdio.h>
#define PRE "v"
#define N "1"
#define N2 "2"
#define S PRE N"."N2
#define SS(a,b) PRE a"."b
int main(int argc, char **argv, char **env)
{
const char *word = S;
const char *word2 = SS(N, N2);
puts(word);
puts(word2);
return 0;
}
#define BASESTRING "CISLO: "
#define CISLO1 1
#define CISLO2 2
#include <stdio.h>
#define xstr(s) str(s)
#define str(s) #s
#define CISLO1 1
#define CISLO2 2
...
const char vystup[]=BASESTRING xstr(CISLO1) "." xstr(CISLO2);
Lebo
Stringification a String-Constants
char data[]="meno"; char *data="meno"; const char *data="meno";
riadok 1. - nemôžeš urobiť data=data2. Teda nemôžeš priradiť do premennej typu pole.
riadok 2. - môžeš urobiť data=data2 ak data2 je pointer. Ale napr. sizeof vracia inú hodnotu ako pri riadku 1, v jednom prípade je to veľkosť pointra (na 32 bitovom systéme typicky sizeof povie 4), v druhom prípade sa vráti veľkosť pamäti zabratej poľom - čo je v tomto prípade 5 (4 písmená a '\0')
riadok 3. - nemôžeš urobiť data[i]='x'. Teda: data[i] je "const char" a priradenie je v rozpore s tým "const".
Tipujem, že toto už je iný level debaty než Jirka potrebuje.
Tá otázka nedáva zmysel.
char *je iný dátový typ ako
char []tak sa proste chová inak.
Podobne kľúčové slovo const dáve kompilátoru pokyn, aby niečo robil/nerobil. Nie je to vynútené architektúrou procesora ani božím prikázaním ani ničím podobným. Skrátka jazyk C definuje, že nejaký zápis spôsobuje nejaké chovanie.
char *em jsou ve výsledné binárce uložené v segmentu .rodata a tudíž se nedají modifikovat?
Mezi
char *s = "Peppa";
const char *t = "Pig";
v principu není rozdíl, akorát v tom druhém případě kompilátor zabrání tomu, aby se někdo pokusil udělat t[0] = 'B'.
#include <stdio.h>
#define PREFIX "v"
#define MAJOR 1
#define MINOR 2
#define STR(a) #a
#define VERSION(a,b) PREFIX STR(a) "." STR(b)
int main(int argc, char **argv, char **env)
{
const char *version = VERSION(MAJOR, MINOR);
puts(version);
return 0;
}
Tiskni
Sdílej: