Hirdetés
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- talmida: My Art II.
- btz: Internet fejlesztés országosan!
- hcl: Olympus E-PL1 nyomozás
Ú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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- A fociról könnyedén, egy baráti társaságban
- Gyúrósok ide!
- OLED TV topic
- Autóhifi
- exHWSW - Értünk mindenhez IS
- Békéscsaba és környéke adok-veszek-beszélgetek
- PlayStation 5
- Kínai és egyéb olcsó órák topikja
- Parfüm topik
- Samsung Galaxy Watch8 és Watch8 Classic – lelkes hiperaktivitás
- További aktív témák...
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Eredeti Lenovo 135W töltők (sárga téglalap)
- Eredeti DELL 240W töltők (LA240PM160)
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
