Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
Instituce státní správy nebudou smět využívat produkty, aplikace, řešení, webové stránky a webové služby poskytované čínskou společností DeepSeek. Na doporučení Národního úřadu pro kybernetickou a informační bezpečnost rozhodla o jejich zákazu vláda Petra Fialy na jednání ve středu 9. července 2025.
Dobrý den, v mém projektu mě trápí dost protivný memory leak, při jehož hledání jsem došel zhruba k následující konstrukci, která jej způsobuje:
#include <map>
#include <string>
#include <iostream>
#include <stdio.h>
#include <sstream>
using namespace std;
multimap<int,string> mapa;
int main() {
for(int i=0;i<20000;i++) {
stringstream s;
mapa.insert(make_pair(i%234,string("fdsfdsfdsfdsfdsfds")+s.str()));
};
cout<<"Mapa vytvorena"<<endl;
getc(stdin); //Zde celý program zabírá 2292 KB
cout<<"Jdu mazat"<<endl;
for(int i=0;i<234;++i) {
mapa.erase(i);
};
cout<<"smazano"<<mapa.size()<<endl;
getc(stdin); //Zde program zabírá 2312KB
};
Zajímalo by mě, proč na konci programu je stále naalokováno tolik paměti, i když mapa neobsahuje žádné záznamy. Zabranou pamět zjišťuji příkazem ps s parametrem RSS. Valgrind žádný leak neukazuje.
Stejný problém jsem narazil i u vectoru, a asi bude i u dalších kontejnerů.
Máte pro to nějaké vysvětlení? Lze nějak přikázat kontejneru/překladači, aby paměť skutečně delalokoval?
Tak nevím. ale přijde mi, že alokujete 20000
členů a pak uvolníte jenom 234
, nemůže být problém tam?
std::vector<T>::capacity()
- tam se to asi bude skrývat. Napadá mě leda zkusit clear()
, ale nevím nevím.
Je mozny vyhradit urcitou kapacitu: std::vector(int) vec, vec.reseve(10); aby nedochazelo k realokaci behem plneni. Pokud uz mame plnej vektor a chceme jej zmensit na pocet (size()), pak zavolame std::vector<int>(vec).swap(vec);
To není memory leak, STL je prostě žrout paměti. Co kontejner schvátí, jen tak nevrátí
Děkuji všem za odpověďi To %234, tam je pouze, abych měl v kontejneru různé prvky, z nichž některé se budou opakovat. Nechtěl jsem tím mást:) Opravdu je to tak, že STL si naalokuje paměť a tu potom používá, takže v pokud pole znovu naplním, nová paměť už se nebere...ale pouze na tomhle testovacím prográmku, v mém projektu ne :'(. Zajímalo by mě, zda existuje možnost, jak přinutit SDL aby tu paměť dealokoval (clear() nepomáhá). Zkoušel jsem to exportnutí GLIBCXX_FORCE_NEW, ale nepomáhá to. Nějaká cesta, jak přinutit SDL dealokovat paměť přece musí existovat, protože jinak by jakýkoli program - deamon, co třeba při spuštění potřebuje 100MB RAM a pak už jen 2MB žral celou dobu 100 paměti...to by přece nikdo nemohl přehlédnout:)
GLIBCXX_FORCE_NEW je určitě těžce nepřenositelné. Řešení ti popsal "puk" o pár příspěvků výše (aneb např. string(s).swap(s), obdobně pro vector apod.)
vim ~/.emacs
Tiskni
Sdílej: