Po 9 týdnech vývoje od vydání Linuxu 6.8 oznámil Linus Torvalds vydání Linuxu 6.9. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna. Později také na Linux Kernel Newbies.
Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.
O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
/*Pri prekladu zakomentovat podle potreby*/ #define OS_LINUX_OPT #define OS_LINUX_USR_LOCAL #define OS_LINUX_USR #define OS_WINDOWS char* grabFile(char* filespec) { char p[256]; #ifdef OS_LINUX_USR strcat(p,"/usr/local/myprogram/"); strcat(p,filespec); #endif #ifdef OS_WINDOWS strcat(p,getProgramDirectory()); strcat(p,"\\"); strcat(p.filespec); #endif return p; }(Priznavam,ze tento kod neni bezpecny, snadno lze zpusobit preteceni) ... a tak nejak. Prikladem podobneho ucinneho vyuziti preprocesoru jsou zdrojove kody ke hre Wolfenstein 3D.
$HOME
, což může představovat vše od /home/vyskocil/usr/program
v práci, až po /homes/eva/xv/xvysko02/usr/program
ve škole .
getProgramDirectory()
, kterou si ovsem musite napsat.A pak je opravdu jedno, kde ten program je.
Tudiz si zavedeme: OS_LINUX_ANYWHERE
char* grabFile(char* filespec) { char p[256]; #ifdef OS_LINUX_ANYWHERE strcat(p,getProgramDirectory()); strcat(p,"/"); strcat(p,filespec); #endif return p; .... }
getProgramDirectory()
proste vezme nulty parametr prikazove radky
a odsekne z nej vse za poslednim lomitkem a je to. Tak se program
najde, at uz je kdekoliv.
namespace fs = boost::filesystem; // inicializace cesty fs::path tmpPath( FileOption, fs::native ); // pokud cesta neni kompletni // (neobsahuje C:\ nebo "/root/..") // pripoj pracovni adresar (workingDir) File = tmpPath.is_complete() ? tmpPath : workingDir/tmpPath; //spojeni cest if( !fs::exists( File ) ) { std::cerr << "\nerror: File " << File.string() << "\ndoes not exist.\n"; return 1; } else if( fs::is_directory( File ) ) { std::cerr << "\nerror: Argument for the file " << File.string() << "\nis a directory.\n"; return 1; }
samozrejme v cestach k souborum bude potreba zmenit lomitka za zpetna lomitkaTo je pěkná blbost.
Tiskni Sdílej: