- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen videókártyát?
- Audiofil és gamer? Az ASUS megpróbálja
- Kormányok / autós szimulátorok topikja
- Apple iPad 11” (A16, 2025) - a táblagépek vanília fagylaltja
- Hangtechnika (pa, stúdió, analóg, digitális, pc)
- Házimozi haladó szinten
- Melyik tápegységet vegyem?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Vezetékes FEJhallgatók
Új hozzászólás Aktív témák
-
-
sghc_toma
senior tag
az okozza, hogy nincsenek fent az adott gepen a te forditodnak megfelelo runtime library-k.. ket lehetoseged van:
- feltelepititek a runtime-ot (vcredist.exe neven valahol ott van a Visual Studio konyvtaraban, vagy MS-tol is le lehet tolteni)
- statikusan linkeled a runtime-ot az exe-dhez (Project Properties | C/C++ | Code Generation | Runtime Library, es itt /MD helyett /MT) -
-
sghc_toma
senior tag
válasz
-=Lord Tom=-
#1185
üzenetére
az elozo beolvasas utan ottmarad az stdin-en egy '\n', es ezt olvassa be a masodik scanf.. csinalhatod azt, hogy olvasas elott kiurited az stdin-t mondjuk igy:
char c; while ((c = getc(stdin)) != EOF && c != '\n');
ja, es az osszehasonlitasnal ne "-t hasznalj, hanem '-t.. a "+" igazabol ket karakter, a vegen van egy '\0'..
-
sghc_toma
senior tag
válasz
skoda12
#1176
üzenetére
nem szukseges beallitani, ha .c a kiterjesztes, automatikusan C-kent fordit..
amugy a project Properties|C/C++|Advanced|Compile As helyen lehet beallitani az egesz project-re (ezt felulirja a kiterjesztes).. adott file-ra is be lehet allitani, ekkor ertelemszeruen a file Properties lapjan kell beallitani, nem a project-en.. -
sghc_toma
senior tag
kampi_ (#1074): bocs, hogy nem valaszoltam, nyaraltam, es a Vodafone-os mobilnettel nem jottek be az oldalon a hsz-ek..
Jester01 (#1088): az OpenProcess doksijaban le van irva, hogy NULL-t ad vissza hiba eseten, szoval ebben nincs semmi meglepo.. ami meglepo lehetne, hogy rossz handle-t jelezhet NULL es IVALID_HANDLE_VALUE is (fuggevnye valogatja), de ezen meg azert nem lepodunk meg, mert tudjuk, mennyire konzisztens a Win32 API
amugy azert letezik az IVALID_HANDLE_VALUE, mert egy par Win32 fv 16 bites elode -1-gyel tert vissza, es meg kellett orizni a kompatibilitast.. -
sghc_toma
senior tag
Udv!
CreateProcess-rol gondolom, hogy Win32 API-val dolgozol.. ha esetleg megsem, es mashol is van CreateProcess, akkor a hsz-em tobbi resze ignoralando
a CreateProcess az utolso parametereben egy PROCESS_INFORMATION-re mutato pointert ker, es ebben a strukturaban tobbek kozott visszaadja a process id-t.. egy ciklusban megprobalhatsz HANDLE-t kerni a process-hez az id alapjan az OpenProcess fv-el.. ha a HANDLE == NULL, akkor mar nem fut a processz.. (nemi kis sleep-et rakjal a ciklusba, kulonban felzabalja a procit) -
sghc_toma
senior tag
válasz
Elektromann
#1066
üzenetére
Win32 alkalmazasnal alapbol az INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, INT) a belepesi pont.. ilyened nem volt, ezert a linker nem is talalta..
-
sghc_toma
senior tag
en is igy latom.. Basic-kel, Pascal-lal kezdtem, es nagyon sokaig tartott, mire felnyilt a szemem, es megtanultam igazan hasznalni a C++ adta lehetosegeket..
gygabor88: Thinking In C++-t ezert szeretem nagyon; alaposan bemutatja a nyelvet, es mindezt jo peldaprogikon keresztul teszi..
-
sghc_toma
senior tag
válasz
skoda12
#1022
üzenetére
maganvelemeny kovetkezik, nem megkovezni erte

annyira nagyon nem ismerem a Stroustroup konyvet (referencianak hasznaltam parszor), de szerintem teljesen kezdonek nem a legmegfelelobb.. tul sok infot tartalmaz elsore.. szerintem sokkal jobban lehet tanulni egy olyan konyvbol, ami kisebb problemak megoldasan keresztul nyujt betekintest a nyelvbe.. amikor meg mar van egy ralatasod a dolgokra (es erdekel is a dolog), ugyis utananezel az apro finomsagoknak..azzal az altalanosan elfogadott nezettel sem ertek egyet, hogy eloszor C, aztan C++.. nem irom le, hogy miert, mert Bartosz Milewski nagyon jol leirja a C++ In Action cimu konyveben, es maximalisan egyetertek vele..
Meg egy konyv van, amit tudok ajanlani C++-hoz: Thinking In C++..
-
sghc_toma
senior tag
Kösz, szóval ha kiértékeli az egyik egyenlőség jelet, akkor már nem foglalkozik a másikkal? (erre nem gondoltam)
nem erről van szó.. kiértékeli azt a kifejezést, hogy 9999 <= szam.. ez vagy igaz, vagy nem.. utána ezt az értéket (igaz, vagy hamis) hasonlítja össze 100000-rel.. a hamis 0, az igaz 1, mindkettő kisebb százezernél -> mindig igaz lesz a feltétel..btw, ha a számod egyenlő 9999-cel, akkor csak négyjegyű.. illetve a 100001 is ötjegyű.. szóval a feltétel helyesen: x > 9999 && x < 1000000
// ehh, elkéstem...
-
sghc_toma
senior tag
válasz
Benmartin
#546
üzenetére
Szia!
Igazad van, beadandóimban én sem mindig csinálok teljes input-validációt, mert minek. Viszont ez tudatos. Azért említettem meg a dolgot, mert ha a kezdő programozóba belerögzül, hogy gets, és nem ismeri annak veszélyeit, akkor simán elképzelhető, hogy production code-ban is használni fogja.
-
sghc_toma
senior tag
válasz
Fire/SOUL/CD
#544
üzenetére
Hello!
Semmi gond, én is találkoztam már beszólogató emberkékkel

Tény, hogy lehet szívni az stdin-nel, amíg az ember nem tudja, hogyan is működik az a fránya input buffer. Az a baj, hogy a gets-el akkor is szívhatsz, ha tisztában vagy a dolgok működésével - ugyanis semmilyen lehetőséged nincs biztosan elkerülni a túlcsordulást.
Azzal érvelsz, hogy a programozást oktató tanárok ezt nem tanítják. Ellopom az érvedet, és felhasználom
A tanárok pl. a gets veszélyeire sem hívják fel a figyelmet.Azért nem tartom jó ötletnek a gets használatát példakódban, mert akkor a programozópalánta azt ismeri meg, azt fogja használni, pedig van biztonságos(abb) megoldás is. Persze ahhoz többet kell tanulnia, meg pötyögnie, de potenciális b0f-t nem szabad benthagyni egy programban. Szerintem.
-
sghc_toma
senior tag
válasz
Fire/SOUL/CD
#541
üzenetére
hello!
ahogy dabadab mondja, egy túl hosszú input csinálhat gonosz dolgokat.. próbáld ki mondjuk 300-400 számjeggyel, úgy tuti felülírod a return address-t a stack-en valami hülyeséggel, és kapsz egy segfault-ot.. persze a mai fordítókban vannak mindenféle védelmek overflow-k ellen, de azért nem szabad csak azokra támaszkodni..
-
sghc_toma
senior tag
válasz
Fire/SOUL/CD
#539
üzenetére
egy tanács: a gets függvényt érdemes elásni.. jó mélyre.. olyan gyönyörű buffer overflow-t lehet vele gyártni, hogy ihaj.. ott van helyette pl. az fgets: harmadik paraméter stdin, és ugyanazt csinálja, mint a gets, csak kultúráltabban..
-
sghc_toma
senior tag
válasz
Bettina87
#396
üzenetére
azt várja, hogy az eredeti (értsd: első kiadású) KR könyvben leírtak alapján írjátok meg a házit.. a bekopizott válaszlevele alapján KR-féle kódokat írtatok órán is.. gyakorlatilag visszakéri, amit tanultatok..
félreértés ne essék: nem értem miért kell egyáltalán tanítani a KR C-t.. nekem kellett Fortran-t tanulnom, utáltam, és tudtam, hogy gyakorlatilag semmi hasznát nem veszem majd.. ennek ellenére az órai anyag alapján mindig megírtam a házit..
nem hinném, hogy embertelen feladat lenne egy problémát KR C-ben megírni, csak ehhez ugye ismerni kéne a nyelvet.. márpedig azt Nektek megtanították, vagy mi... -
sghc_toma
senior tag
OK, kösz mindkettőtöknek.
-
sghc_toma
senior tag
számunkra fura dolgot találtunk tegnap programozás közben.. a kódban maradt egy olyan sor, hogy zárójelben egy pár érték, valahogy így: (4, "sdfg", 23).. A kód lefordult, a progi működött.. megnéztem objdump-pal ennek a két forrásnak megfelelő progit:
int main() {(1,2,3,4); printf("qwer"); return 0;}
, illetve
int main() {printf("qwer"); return 0;}
semmi különbség nincs az assembly kódok közt...
a kérdésem: ez mitől "érvényes" kód c-ben, c++-ban?
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Luck Dragon: Asszociációs játék. :)
- Casco és kötelező gépjármű felelősségbiztosítás
- Kínai és egyéb olcsó órák topikja
- iPhone topik
- Milyen videókártyát?
- One otthoni szolgáltatások (TV, internet, telefon)
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Horgász topik
- Assetto Corsa EVO
- További aktív témák...
- ÚJ STEELSERIES Arctis Nova Pro Wireless Playstation fekete
- Dell Precision 5560 i7 32GB RAM 512GB SSD NVIDIA RTX A2000 FHD+
- Mafia The old Country Ps5 dobozos, hibátlan!
- SZINTE ÚJ , 2ÉV GARANCIA - PS5 SLIM DIGIT 825GB + PS PORTAL BLACK (Keveset használt eszközök)
- Macbook Pro 14" M1 MAX, 64GB RAM, 500GB SSD, 10 hónap garancia!
- HP Zbook Fury 17 G8 - üzletből, garanciával
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- Dell Latitude 5400 14" FHD IPS, i5 8365U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Kingston SNV3S 1 TB NVMe SSD VADIÚJ, 3 év NÉVRE SZÓLÓ GARANCIA!
- Keresünk Galaxy S24/24+/S24 Ultra/S24 FE
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





