Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.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 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
Nový standard C++ ISO 2010 je k dispozici na stránkách open-std.org [PDF, 10,6 MiB].
Tiskni
Sdílej:
navíc si můžete být jistí, že co je v normě je závazné.coz u C++ a treba gcc tak uplne neplati, protoze gcc si dela vicemene co chce a zkompiluje i veci, ktere dle normy zkomilovat vubec nema
hlášení ohledně chyb bylo dost kryptické.Podle me jeden z duvodu proc sluna cast lidi co chce zacit s C++ zbabele prchne. Ukazte javistovi nejakou vypecenejsi hlasku z GCC a uvidite co vam na to rekne. For je v tom, ze na chyby v jave vetsinou pomuze aspon strycek google. Na nektery vejmysle GCC nepomuze ani svecena
.
Export šablon se dělá u kompilovaného jazyka parádně.Kdyby to bylo tak jednoduché, tak to implementuje víc než jeden kompilátor. Času na to bylo dost dlouho.
Už by měli vyhodit hlavně makra. Jsou hnus. I C (C99) podporuje inline funkcemakra jsou nahodou naprosto uzitecna vec a jsou situace, ktere neresi ani inline funkce ani templaty. vlastne, spis je skoda, ze v C maji makra jenom tak omezene schopnosti... napr. by se mi hodilo makro generujici dalsi makra (v rozumnych jazycich je to normalni)
chci tam funkci minor(size_t,size_t) pro získání "minor" matice, tak namě preprocesor začne jebat, že makro minor bere jeden argument. fakt super, vymejšlet jiný název.to je spis problem ,,jednoho/spolecneho namespacu'' nez tech maker
Už by měli vyhodit hlavně makra. Jsou hnus.Jakpak bych bez maker definoval toto:
#if defined __FILE__ && __LINE__
#define ohshit(code, message) throw Err(code, message, __FILE__, __LINE__)
#else
#define ohshit(code, message) throw Err(code, message)
#endif
Její největší část je převzatá z předchozí normy, kterou jsem četl celou.Chtěl bych si normu taky někdy přečíst, zkoušel jsem už začít, ale hodně se tam začalo odkazovat na nedefinované pojmy (sekce o lexikální analýze byla v pohodě, ale myslím už v sekci "Basic" začala používat pojmy definované až později). Jak se taková norma nejlépe čte? Od začátku do konce?
vim ~/.emacs
Mně jen zajímá jestli někdy vznikne nějaká konkurence C++, protože žádný konkurenční jazyk stejných vlastností neexistuje.
Takové ambice má jazyk D.
std::wstring unicode řetězec (v kódování UCS-4), podobně je tomu i u řady jiných implementací. Přenositelný být nepotřebuje, protože má-li se někam přenášet, dělá se to přes stream a při zápisu dochází ke konverzi podle zvoleného locale (a stejně tak při čtení).
wstring je pouhé pole prvků typu wchar_t – nic jiného
wchar_t může být cokoli, může to být 16ti, ne 32ti bitová integer proměnná. může být signed i unsigned.
To je sice pravda, ale není to v rozporu s tím, co jsem napsal.
a konverze do 8mi bitových charsetů jsou doufám minulostí, já sám nic takového už roky nepoužívám
Já jsem snad o něčem takovém mluvil?
raději se zdržím dalších komentářů
Pokud je vám zatěžko přečíst si příspěvek, na který reagujete, bude lepší, když se zdržíte.
wchar_t (budu-li se držet C99), je implementačně závislý. Standard pouze požaduje, aby obsáhl všechny znaky, které daný systém v době překladu umí.
Například přeložíte-li program na systému, jehož standardní knihovna umí jen osmibitové locales, tak výsledný program může mít typ wchar_t široký osm bitů. Doinstalujete-li si podporu pro UTF-8 locales, a přeložíte-li program znovu, bude wchar_t (ve stavu dnešního Unicode) mít 32 bitů. Spustíte-li si první program na novém systému v UTF-8 locale, čtecí rutiny při převodu multibyte do wide charachter selžou, protože nedokážou reprezentovat tak široké znaky.
std::wstring není unicode řetězece, protože jím nejen být může, ale často také je. (Jestli jsou nebo nejsou k dispozici specifické unicode funkce, tu nehraje roli.) Za druhé: ano, interní reprezentace std::wstring není obecně přenositelná, ale to není problém, protože u tohoto typu se nepředpokládá, že by se v nativní podobě přenášel mezi platformami nebo i jen mezi různými procesy, a standardní mechanismy pro přenos překlad zajistí. Že nebudou fungovat u zmršených implementací, jejichž wchar_t nemá dostatečný rozsah, to je celkem logické, ale je to chyba těch implementací, ne návrhu.
u gcc je std::wstring unicode řetězec (v kódování UCS-4)U mě v GCC je wchar_t 2B, tudíž UCS-4 z toho jen blbě vyždímete. A pokud použiju prefixu L"", nastrká tam UCS-2 "řetězec". Platí, co řekl pan Ponkrác.
wchar_t může být cokoli, může to být 16ti, ne 32ti bitová integer proměnná. může být signed i unsigned.
#include < string >
#include < iostream >
int main()
{
std::cout << sizeof(wchar_t) << std::endl;
}
#include <cstdint>?
Čo takto Mono a .NET?
.