Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.
Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).
Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.
FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Ř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: