- Argos: Az vagy, amit megeszel
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- GAI: Retro GPU-k mindörökké: a végleges koncepció, és a szereplők bemutatása
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- sh4d0w: Én és a számítógép
- Viber: ingyen telefonálás a mobilodon
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
jattila48 #4467 üzenetére
Azt hiszem, sikerült kisilabizálni a választ. Függvény nevek esetén a név dekoráció (vagy manglálás) azért kell, hogy a linker meg tudja különböztetni az overload-olt fv. neveket. Ez világos (és eddig is az volt). Függvény pointer nevek azonban nem overload-olhatók, ezért ott nincs szükség név dekorációra, így az extern "C" deklarációnak (ami elnyomja a C++ név dekorációt) sincs értelme. Gondoltam én. Csakhogy fv. pointer nevek esetén a dekorációt nem az overload-olás miatt használják, hanem a hívási konvenció miatt. A különböző TU-kban deklarált és definiált ugyanolyan nevű fv. pointereknek meg kell egyezni a hívási konvencióban. Eddig azt gondoltam, hogy nincs külön C és C++ hívási konvenció (mint ahogy MS fordítóknál nincs is), de elképzelhető, hogy más fordítóknál ez másképp van. Legalábbis a lehetőségét fenntartják.
érdekes olvasmány: [link]
Idézet a cppreference.com -ról:
"Since language linkage is part of every function type, pointers to functions maintain language linkage as well. Language linkage of function types (which represents calling convention) and language linkage of function names (which represents name mangling) are independent of each other"
Tehát a fv. típus és fv. név language linkage-e (mint pl. az extern "C") két különböző, és független dolog. Eszerint fv. pointer esetén a language linkage a pointer által mutatott fv. típusára utal (hívási konvenció), nem pedig a fv. pointer névre.
Elnézést a hosszú hozzászólásért, remélem azért érthető volt min problémáztam.
Ú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!
- Csúcskategóriás ROG Zephyrus M16 Gamer Laptop (i9, RTX 3070 Ti) Makulátlan Állapotban!
- Eladó Karcmentes Lenovo Tablet P11 - Játékhoz és Filmhez, Strapabíró Fémház!
- HP EliteBook 840 G9 i7-1265U 32GB DDR5 512GB SSD FHD+ Érintőkijelző Garancia 2026.01.15
- HP LaserJet Toner - Fekete W9004MC ÚJ Gyári Dobozában
- MacBook Pro 14 Apple M1 Pro 2021 16GB RAM 512GB SSD 3K Retina kijelző 246 ciklus
- DELL Thunderbolt TB16 dokkoló
- Game Pass Ultimate előfizetés azonnal, élettartam garanciával, problémamentesen! Immáron 8 éve!
- Utolsó 1 darab - Sennheiser MOMENTUM 4 fejhallgatók
- Acer Nitro 5 - AN515 - 15,6"FHD IPS 144Hz - Ryzen 7 5800H - 24GB - 1,5TB SSD - RTX 3060 6GB - Win11
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB DDR5 RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest