-
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
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
Najnowsze wątki
- 2024-07-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=
- 2024-07-12 Częstochowa => Specjalista ds. Marketingu (E-Commerce) <=