-
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
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
Najnowsze wątki
- 2026-01-09 EKOFASZYŚCI DO NAUKI Chiny odpaliły reaktor na tor. Zachód przespał ten moment? - AstroSzort
- 2026-01-09 Sebastian M
- 2026-01-09 weto nowelizacji ustawy o ś.u.d.e. (wz. DSA)
- 2026-01-09 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2026-01-09 Ładowanie w 13 minut
- 2026-01-08 Umiejętność tankowania na egzaminie z prawa jazdy
- 2026-01-08 Nowy akumulator Donut Lab
- 2026-01-08 Komenda policji nie ma nic wspólnego ze sprawą zgwałcenia policjantki
- 2026-01-08 Pilot do zamka/bramy
- 2026-01-08 Ślad węglowy
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Dlaczego wrzucenie szkolnego krzyża do śmieci to zbrodnia mniejsza od zgaszenia sejmowej menory?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]