-
Data: 2009-02-08 20:00:15
Temat: Re: ARM7 - nie działa wołanie metod wirtualnych.
Od: Sebastian Bialy <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Krzysztof Rudnik wrote:
> A te zmienne sa statyczne czy automatyczne?
Automatyczne, na stacku.
> Masz obiekt kompletny, wiec wywolanie x.run() realizowane jest bezposrednio
>, bez 'wirtualnosci'.
Wiem, dlatego własnie podałem przykład z ominięciem tablicy wirtualnej
żeby wykazać ze w niej jest problem.
> Wywolanie jest wirtualne (poprzez tablice)
> gdy wywolujesz metode ze wskaznika lub referencji. Wewnatrz start() masz wskaznik
this.
Tak, w dodatku funkcja start() prawidłowo dochodzi do miejsca
w którym pobierany jest wskaźnik na run. Niestety jest on zerowy co
może oznaczać, że nie został zainicjowany. Nie wiem gdzie (i kto) jest
odpowiedzialny za prowidłwoe wypełnienie tej vtable. Wydawało mi się że
konstruktor, ale jak widać chyba nie.
> Jesli to sa zmienne statyczne to podejrzewalbym linkowanie i inicjalizacje.
Nie. To zmienne na stosie. Dokładnie tak jak widać w kodzie.
> Kazdy plik .cpp zawiera wygenerowana przez kompilator funkcje inicjalizujaca
obiekty globalne (wolajaca konstruktory).
Wiem, mój startup zawiera kod który wywołuje te konstruktory (fakt - nie
pisany przez mnie). Jednak w tym wypadku nie ma mowy o statycznych
zmiennych. Ponadto sprawdziłem - obiekt statyczny ma wołany konstruktor
wiec tutaj chyba nie ma problemu.
Będę jeszcze próbował gcc w jakiejś nowszej wersji z lini 4.x. Być może
to bug.
Następne wpisy z tego wątku
- 08.02.09 20:59 Jerry1111
- 08.02.09 21:09 Sebastian Bialy
- 08.02.09 21:41 Jerry1111
- 08.02.09 21:47 Sebastian Bialy
- 08.02.09 22:39 Sebastian Bialy
- 09.02.09 01:10 Adam Dybkowski
- 09.02.09 06:59 Sebastian Bialy
Najnowsze wątki z tej grupy
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
Najnowsze wątki
- 2025-02-24 Dyrektor Toyoty miał rację. Elektryki to ślepa uliczka
- 2025-02-24 Białystok => System Architect (Java background) <=
- 2025-02-24 Białystok => System Architect (background deweloperski w Java) <=
- 2025-02-24 Białystok => Solution Architect (Java background) <=
- 2025-02-24 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-24 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-24 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-24 Gliwice => IT Expert (Network Systems area) <=
- 2025-02-24 Warszawa => International Freight Forwarder <=
- 2025-02-24 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-24 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-24 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-24 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-24 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-24 Żerniki => Dyspozytor Międzynarodowy <=