Hirdetés
- Luck Dragon: Asszociációs játék. :)
- urandom0: Száműztem az AI-t az életemből
- MasterDeeJay: Harc a DDR5 árak ellen
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- droidic: [Memory Leak] Az agy defragmentálása
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
jattila48
#3186
üzenetére
A másik programomban teljesen hasonló kódra a VS ezt fordította:
auto pimpl=hc.pimpl;
00426AAF mov eax,dword ptr [ebp-1Ch]
00426AB2 mov ecx,dword ptr [eax]
00426AB4 mov dword ptr [ebp-28h],ecx
.
.
.
auto sc=hc.f(1);
00426ABF push 1
00426AC1 lea eax,[ebp-74h]
00426AC4 push eax
00426AC5 mov ecx,dword ptr [ebp-1Ch]
00426AC8 call HandleClass::f (04113CFh)
.
.
.
auto sc2=(pimpl->*hc.mfp)(2);
00426AD7 mov esi,esp
00426AD9 push 2
00426ADB lea eax,[ebp-1D4h]
00426AE1 push eax
00426AE2 mov ecx,dword ptr [ebp-28h]
00426AE5 call dword ptr ds:[42B8A0h]Látható, hogy a mfp-én keresztüli hívás előtt nincs befordítva a "fölösleges" kód. Egyébként a kétfajta hívás kódja teljesen hasonló, csak az első call direkt címzéssel, a második pedig indirekt címzéssel történik. Viszont a második call már közvetlenül a BodyClass f tfv.-ét hívja, vagyis valóban nincs forwarding call overhead (ami egyébként elég jelentős). Fórumokon (pl. StackOverflow) azt olvastam, hogy a pimpl-et nem lehet enélkül megcsinálni. Ezek szerint mégis. Ez azért működik, mert az incomplete type-ok member pointerei is forward deklarálhatók.
-
EQMontoya
veterán
válasz
jattila48
#3186
üzenetére
Simán elképzelhetőnek tartom, hogy compiler bugot fogtál.
Először azt hittem, ott lehet benne buktató, hogy egy static ptr úgy kap értéket, hogy akitől kapja, az member volt, ezért mondjuk move-olódhatna máshová, de ez már utána nem befolyásolja a staticot, mert közvetlenül mutat, nem ezen keresztül, tehát nem okoz gondot.
Ú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!
- Fegyverbe! - Ingyen játszható a Call of Duty: Black Ops 7
- Háztartási gépek
- Samsung Galaxy Felhasználók OFF topicja
- Kerékpárosok, bringások ide!
- PlayStation 5
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Autós topik
- Mikor pukkad ki a robotlufi?
- 3D nyomtatás
- Chieftec-Prohardver nyereményjáték
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- PlayStation 4 Slim 1TB
- Xiaomi 14T 256GB, Kártyafüggetlen, 1 Év Garanciaval
- HIBÁTLAN iPhone 13 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3756, 100% Akkumulátor
- ASUS ROG Cetra True Wireless Gaming fülhallgató új, garanciával!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

