Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
Dobry den, dalsia otazka z mojej strany :)
int c; char* str;
while ((c=getopt(argc, argv, "hl:")) != -1) {
switch (c) {
case 'l': str = malloc(strlen(optarg));
strcpy(str, optarg);
break;
default: usage();
return 0;
}
Pokial spustim program ./test alebo ./test nieco_bez_pomlcky, tak dostanem segmentation fault. Ak zadam ./test -nieco, tak to funguje spravne. Je toto standardne spravanie getopt, alebo mam ja nieco zle?
Nevím, jestli tam není ještě jiný problém, ale určitě máte chybu v alokaci paměti - na řetězec potřebujete alokovat o jeden byte víc, než je jeho délka (nebo rovnou použít strdup()). A také tam nikde nevidím, že byste tu paměť vracel, ale to samozřejmě segfault nezpůsobí.
Ale váš problém bude asi někde jinde než v tomhle kusu kódu, protože v případech, kdy vám to segfaultuje, byste se do této větve vůbec neměl dostat. Zkuste si to pustit v debuggeru a uvidíte přesně, kde vám to padá.
Jak říkám, problém bude někde jinde. Buď si to pusťte v debuggeru nebo sem dejte ten zdrojá celý (jako přílohu).
Ještě praktická poznámka: na ukázky kódu používejte element pre, je to přehlednější.
str (v případě, že v parametrech není žádné -l)?
malloc. I když na tom to zde selhávat asi nebude.
} na uzavretie cyklu, tak mne to funguje v poriadku (fbsd)
tak ako ti bolo povedane, skompiluj to s -g option-ov, spusti to a po segfaultovani spust gdb ./test test.core a gdb command where ti povie, kde nastal problem
Tiskni
Sdílej: