- A Colorful "fagyosan kompakt" alkatrészekkel megy elébe a nyárnak
- A Keychron ismét egy űr betöltését vállalta magára az egerek szegmensében
- Az átlagnál vaskosabb ventilátorok kandikáltak ki a Corsair vitorlája mögül
- Csatába küldte Magyarországon idei csúcs hangprojektoros szettjét a Samsung
- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Hi-Fi RUSH - Ismét felbukkant a Nintend Switch változat
gp Ezúttal az európai korhatár-besorolás oldalán találkozhattunk a játék adatlapjával, egyre esélyesebb hogy újabb platformra is befut a program.
-
A Colorful "fagyosan kompakt" alkatrészekkel megy elébe a nyárnak
ph A vállalat többek között egy slim profilos léghűtővel, egy helytakarékos táppal és egy ITX-es házzal adott magáról életjelet.
Új hozzászólás Aktív témák
-
cog777
senior tag
Sziasztok!
Most nézem át a c++ operátor overloading-ját, van két megoldás:
class Point
{
public:
Point(int x, int y) {Point::x=x;Point::y=y;}
Point operator+(Point &p) {return Point(x+p.x, y+p.y);}private:
int x,y;
}A kérdésem:
"Point operator+(Point &p) {return Point(x+p.x, y+p.y);}" Miért lehet elérni a "p.x"-et??? (illetve a p.y-t?) (Az adatrejtés elve miatt kérdezem, hiszen private )A másik megolds szinte ugyanez:
class Point
{
public:
Point(int x, int y){Point::x=x;Point::y=y;}
friend Point operator+(Point &p, Point &q) {return Point(q.x+p.x, q.y+p.y);}private:
int x,y;
}Itt már értem, hiszen a friend el tudja érni a private adatokat!
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
Köszönöm a gyors válaszokat!!!
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
Üdv!
Ha valakit érdekel, egyszerű de nagyszerű memória foglalás/felszabadítás nyilvántartót írtam (interneten található példákat felhasználva), segítségével a memory leak-ot lehet könnyen detektálni. Igaz, Qt-s GUI programokra hegyeztem ki, de át lehet alkalmazni nem Qt-s programokra is. Csak be kell illeszteni a kívánt forráskód include blokkjának a végére a #include "mynew.h"-t. Illetve a program végén meghívni a printList(); deleteList(); függvényeket.
https://github.com/zhanisch/DetectingMemLeak.git
Git-tel letölteni:
git clone https://github.com/zhanisch/DetectingMemLeak.git
Futtatva:
Starting /home/zhanisch/documents/QtProjects/build-DetectingMemLeak-Desktop_Qt_5_0_2_GCC_32bit-Debug/DetectingMemLeak...
Not relased object at: 162713376, file: ../DetectingMemLeak/mainwindow.cpp, line: 19
Not relased object at: 162711392, file: ../DetectingMemLeak/mainwindow.cpp, line: 23
/home/zhanisch/documents/QtProjects/build-DetectingMemLeak-Desktop_Qt_5_0_2_GCC_32bit-Debug/DetectingMemLeak exited with code 0HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz D®. GeNy@ #2132 üzenetére
Hello!
Ez azt jelenti hogy a programnak vissza kellene adni a keretprogramnak 2x tabot és 1 entert? (Nem teljesen világos a feladat)
TAB billentyű 2x bevitel egymás után, majd ezután egy ENTER parancs küldése.
TAB-ot /t
Entert a /n jelöli.Tehát [link] a példa szerint, neked ezt kellene írnod:
cout << "/t/t/n";
(Nézd meg a teljes példát)
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz WonderCSabo #2135 üzenetére
Találkoztam már vele igen, de pár platform sajnos nem támogatja.. így ezt találtam ki. Még fejlesztenem kell rajta, rendezett listát akarok csinálni és bináris kereséssel hamarabb megtalálni a keresett pointert. Fákat nem hiszem hogy akarok implementálni.
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz Jester01 #2151 üzenetére
Köszi a tippet a dmalloc-ra, megnézem. Másrész az STL konténerek gondolom hasonló mellékhatást okozna mintha használnám a Qt konténereket bizonyos! fordító alatt pl qcc. Rekurzívan meghívja magát a new operator... ???? g++ -al oké a dolog.
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
Udv!
A memoria szivargas kereso g++ alatt remekul mukodik az std::map sajat allocatorral. Viszont Blackberry alatt a qcc nem birja leforditani.
Itt a cod:
Igy hasznalom:
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <map>
#include "allocator.h"
#include "mynew.h"
#undef new
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
typedef struct node node_t;
struct node {
void * ptr;
bool array;
unsigned int line;
const char *file;
};
std::map<void *, node_t *, std::less<void *>,
fooStdAllocator<std::pair<void *, node_t *> > > booking;Hibauzenetek:
/Applications/bbndk/target_10_1_0_1020/qnx6/usr/include/cpp/xtree:174:51: error: no type named 'difference_type' in 'std::_Tree<std::_Tmap_traits<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> >, false> >::allocator_type {aka class fooStdAllocator<std::pair<void* const, node*> >}'
...
/Applications/bbndk/target_10_1_0_1020/qnx6/usr/include/cpp/xtree:189:8: error: no type named 'difference_type' in 'std::_Tmap_traits<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> >, false>::allocator_type {aka class fooStdAllocator<std::pair<void* const, node*> >}'
../src/mynew.cpp: In function 'void removeFromList(void*, bool)':
../src/mynew.cpp:42:64: error: conversion from 'std::_Tree<std::_Tmap_traits<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> >, false> >::iterator' to non-scalar type 'std::map<void*, node*>::iterator {aka std::_Tree<std::_Tmap_traits<void*, node*, std::less<void*>, std::allocator<std::pair<void* const, node*> >, false> >::iterator}' requested
../src/mynew.cpp:44:28: error: no match for 'operator!=' in 'itr != booking.std::map<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> > >::<anonymous>.std::_Tree<_Traits>::end [with _Traits = std::_Tmap_traits<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> >, false>]()'
...
../src/mynew.cpp:46:26: error: no matching function for call to 'std::map<void*, node*, std::less<void*>, fooStdAllocator<std::pair<void*, node*> > >::erase(std::map<void*, node*>::iterator&)'Ha van valakinek otlete, orulnek neki ha megosztana hogy merre induljak el.
[ Szerkesztve ]
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz Jester01 #2168 üzenetére
Koszonom a tippet, mar fordul. Csak eppen lefagy. Megneztem az eredeti std::allocator-ral is fagy meghozza a find funkcioban kapok segmentation fault-ot. Kiserletezek vele, ha valamire jutok akkor kozze teszem.
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz bandi0000 #2423 üzenetére
C-ben azert nehezebb programozni mint C++-ban. Biztos hogy C-ben akarod megcsinalni? Ugyanis C-ben nagyon kell figyelni dolgokra, pl ha elszursz egy pointert akkor megjosolhatatlan lehet a program viselkedese, vagy ha nem inicialialsz 0-val egy teruletet ahol string-et tarolsz akkor a printf tovabbi karaktereket is kiirat mert nem talalja a 0-a veget.
for ciklust 1-es index-el kezdted, igy akartad?
fscanf beolvassa ugyan az ertekeket es a string-et is de mi a garancia hogy a string pont akkora a szovegben mint a memoria teruleted:char re[3][7]? Mivel csak 7 karaktert foglaltal le es nem 8at azert hogy 0-t rakj a vegere ezert a printf tovabb irja a szoveget mint 7 karakter.printf utolso parametere nem &re[ I ]hanem csak re[ i ]
"Elvileg ennek tökéletesen kellene mennie"
Bocsanat, nem kotekedesnek szanom, de szerintem a buffer overflow betoreseket is ezek a kielentesek okozzakUgy erdemes programot kesziteni hogy torekszel arra hogy a hiba lehetosegek szamat minimalisra szoritsd.
Hacsak nem kifejezetten C-t akarsz tanulni linux kernel driver iras miatt, akkor inkabb hasznalj C++-t modern technologiakkal:std::array ahol beallitod a meretet a tomb-nek, .at(index) -el elered az elemet (es ha tul index-elsz akkor egybol latod mi a baj), komplett sort olvasnek be a helyedben es std::string-et hasznalnek majd onnan masolnam at az egyes reszeket struct-t ba mivel ezek a sorok egybe tartoznak.
Remelem sikerul atirnod! Sok sikert!
[ Szerkesztve ]
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
cmake kerdesem van. Egy eleg nagy projektben (600 cmakefiles) kell egy uj ficsort keszitenem. A problema a korkoros dependency.
Szoval protokol modul hasznalta a driver-t. Driver object-kent volt, protocol static-kent forditva.
Most az uj ficsor a driver-bol hasznal protokolt. Igy cmake kiirta hogy ez biza cyclic dependency es legalabb 1 target nem static.Valoban, driver nem az.
Nosza allittsuk at object-rol static-ra.
Lefordul, orom bodotta.
Vazz, a ficsor kodja lefordul, latom a logban de nem linkelodik ossze es nem is tudok breakpoint-ot tenni ra. Mikor objectkent volt linkelve akkor breakpoint mukodott.
Persze, megallapitottuk hogy ezt a reszt ujra kellene strukturalni, de most 1 ideiglenes megoldast kell csinalnom.
Megkoszonom ha valaki hozza tudna szolni a szituaciohoz es adni tanacsotHP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
-
cog777
senior tag
Tud valaki c++ teszteket? Lehetoleg advanced level-t vagy magasabbat, akarok allas interjuzni a kozeljovoben es bizonyos dolgokban berozsdasodtam. Linkedin-en van par kurzus c++20-al kapcsolatban, de ugy erzem jo lenne teszteket csinalgatnom.
HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
-
cog777
senior tag
válasz Tomi_78 #4449 üzenetére
Koszi, az elsot nem tolti be. Igen, bar nekem evekkel korabban a Google sokszor nagyon alap kvizeket adott ki, ezt pl 25-bol 24-et sikerult eltalalnom, tul alap.
Most rakeresve "c++ quiz" kifejezesre, tobb tesztet talaltam, pl c++20 teszt. Bocs a zajt.
[link] , [link] , [link]HP ZBook Workstation A3000 - Linux Mint; Raspberry Pi4 - Raspbian
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Az átlagnál vaskosabb ventilátorok kandikáltak ki a Corsair vitorlája mögül
- exHWSW - Értünk mindenhez IS
- gban: Ingyen kellene, de tegnapra
- PlayStation 5
- Nagyrobogósok baráti topikja
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Termékoldal buktatta le a Huawei Watch Fit 3-at
- Nemzetközi piacra érkezik az Amazfit Helio Ring
- Politika
- Tudományos Pandémia Klub
- További aktív témák...
- Xiaomi Redmi Note 11 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó gamer PC (i5-11400F/16GB DDR4/500GB SSD+1TB HDD/RTX 2060 6GB)
- Bomba ár! Lenovo ThinkPad X270 - i7-7G I 16GB I 256GB SSD I 12,5" I HDMI I Cam I W10 I Garancia!
- Bomba ár HP Spectre Pro X360 G2 - i5-6G I 8GB I 256SSD I 13,3" FHD Touch I Cam I W10 I Garancia!
- DELL OPTIPLEX 3020 - i5/8GB/256GB/GT710