-
Data: 2010-01-04 03:03:03
Temat: Re: adres metody w vtable
Od: Mariusz Marszałkowski <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 21 Gru 2009, 15:51, Krzysiek Kowaliczek
<k...@g...com> wrote:
> Użytkownik Krzysztof Poc napisał:
>
> > Witajcie
>
> > Czy ktos moze wie dlaczego ponizszy program nieprawidlowo pokazuje
> > adres metody
> > Inc() pobranej z vtable.
>
> [...]
> > uintptr_t *inc = reinterpret_cast <uintptr_t*> (*(vptr+4));
>
> Podpowiedź. O jaką wartość zostanie przesunięty wskaźnik vptr?
> Na pewno nie o 4 bajty.
> BTW. po co Ci to? Skąd wiesz jak kompilator implementuje metody
> wirtualne? Standard nic nie mówi na ten temat. To jest zależne
> od implementacji kompilatora.
Nie pamiętam już gdzie, ale chyba pamiętam po co, zrealizowano
metody wirtualne w postaci globalnej tablicy adresów, a wewnątrz
składowych klasy zamieszczono indeksy do owej globalnej tablicy.
A po co? Po to aby zaoszczędzić na pamięci, można obliczyć
co do jednego bitu ile potrzeba pamięci na każdy indeks, natomiast
adres metody wirtualnej to zawsze kilka bajtów.
Apropo, przez takie sztuczki jeden z moch starych programów
nie działa po skompilowaniu VC7 lub nowszym :)
Pozdrawiam
tablicy?
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=