Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.
Podrobně byla rozebrána kritická zranitelnost v nf_tables (CVE-2026-23111). Další lokální eskalace práv na Linuxu. V upstreamu byla zranitelnost již v únoru opravena. Ve zdrojovém kódu stačilo odstranit 1 vykřičník.
Mam nasledujici C++ zacatecnicky problem a po dlouhym zkouseni a hledani uz nevim co dal s nim:
Mam tridu cprinting a v ni se snazim vytvaret objekty cobject_box, cobject_line (a dalsi) zalozene na tride cobject (zkousel jsem ji pro jistotu uz i prejmenovavat). cobject.h neobsahuje nic svetobornyho, v podstate jen tu deklaraci tridy, dve jeji clenske promenne, konstruktor a jednu virtualni funkci 'print()'. Nic v ni neni private.
Pro vetsi kratkost jsem z nasledujicich vypisu vyhazel vse nezajimave vcetne namespacu (i z chybovych hlasek)(ktere nemeni nic na vysledcich). Cele je to vytvarene v kdevelop.
soubor cprinting.h
#include "cobject.h"
#include "cobject_box.h"
#include "cobject_line.h"
...
//forward deklarace
class cobject; //potreba kvuli ukazateli na instanci
//class cobject_box; \_ nemeni nic
//class cobject_line; /
//deklarace
class cprinting
{
public:
...
soubor cobject.h
#include "cprinting.h"
...
class cprinting; //forward deklarace
class cobject_base
{
public:
...
soubor cobject_box.h:
#include "cobject.h"
#include "cprinting.h"
...
class cprinting; //forward deklarace
class cobject_box : public cobject
{
public:
...
Takze toto pri kompilaci haze tento vysledek:
In file included from cprinting.h:23,
from cobject.h:10,
from cobject.cpp:2:
cobject_box.h:29: error: expected class-name before ‘{’ token
In file included from cprinting.h:24,
from cobject.h:10,
from cobject.cpp:2:
cobject_line.h:33: error: expected class-name before ‘{’ token
Coz je prave ta uvedena '{' v cobject_box.h pod radkem class.Po pridani forward deklarace 'class cobject;' do cobject_box.h a pripadne i cobject_line.h dostanu:
In file included from cprinting.h:23,
from cobject.h:10,
from cobject.cpp:2:
cobject_box.h:29: error: invalid use of incomplete type ‘struct cobject’
cobject_box.h:27: error: forward declaration of ‘struct cobject’
In file included from cprinting.h:24,
from cobject.h:10,
from cobject.cpp:2:
cobject_line.h:33: error: invalid use of incomplete type ‘struct cobject’
cobject_box.h:27: error: forward declaration of ‘struct cobject’
Pokud tam nacpu celou deklaraci tridy cobject, tak to na me rve redefinici. Pokud pouziju kompiler z trojkovy rady, tak taky nic.
Nemate nekdo nahodou nejakej hint k nakopnuti?
#pragma once
#ifndef COBJECT_H #define COBJECT_H ... #endif?
(Mozna jsem ty vypisy zestrucnil az moc... :-/ )
Nicmene jsem to dal do vsech hlavicek pred to #ifndef, ale vysledek je uplne stejnej...
Mate nekde v cobject.h plnou definici tridy cobject? Bez ni totiz nemuzete z cobject dedit.
P.S. Priste se, prosim, pokuste dodat minimalni, ale uplny kod, ktery neni protkan zaplavou trojtecek. Obvykle se lidem totiz podari vynechat prave ty casti kodu, ktere jsou pro vznik chyby klicove. A to je IMHO i tento pripad.
Tuhle je ta uplnejsi verze cobject.h vcetne deklarece ty tridy cobject:
#ifndef COBJECT_H
#define COBJECT_H
#include "common.h"
#include "cprinting.h"
namespace printer
{
class cprinting;
class cobject
{
public:
cobject ( cprinting *pcprint, Uint32 _x0, Uint32 _y0 );
cobject ( cprinting *pcprint, const char *input_line );
virtual void printObject();
~cobject();
protected:
Uint32 posx;
Uint32 posy;
cprinting *pprinting;
};
}
#endif
Uplnou definici tech funkci mam v cobject.c. Je to spatne?
#include "cprinting.h". Od toho ty forward deklarace existují - když chceš použít pointer (nebo možná i referenci, pokud se nemýlím), stačí vědět, že nějaká třída toho názvu vůbec existuje a k tomu stačí forward deklarace. Naopak pokud by přímo součástí struktury (třídy) měla být jiná struktura (třída), což je vlastně i případ dědění, pak už by forward deklarace nestačila.
#include "cprinting.h" pak bude potřeba až v cobject.cpp, tam už ale nebude vadit.
Diky! Prebytecny includy jsem vyhazel do .cpp souboru a hned jsem postoupil az k linkovani! Tot ten spravnej level, kde se na me pro zmenu vysypala spousta mnohonasobnych definici neclenskych inicializovanych textovych retezcu z tech headeru...
)) Mno, s tim uz si snad nejak poradim... Nejakej registrovanej dobrovolnik, kterej tento pripad uzavre?
class cobject_box : public cobject, ale o tříde cobject ještě vůbec nic nevím, protože jsem z cobject.h musel utéct nejdřív sem!
Je sice fajn, kdyz se rozhodnu vyzkouset si napsat neco v c++, ale taky by bylo asi fajn precist si neco malo o tom prekladaci a ne jen o odvozovani trid. Vyrazim z prace domu...
Tiskni
Sdílej: