eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo poeta miał na myśliRe: Co poeta miał na myśli
  • Data: 2011-10-27 21:04:45
    Temat: Re: Co poeta miał na myśli
    Od: Marek Borowski <m...@b...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 27-10-2011 20:54, Wojciech Muła wrote:
    > Przy jednym z haseł na Wikipedii pojawił się taki oto problem.
    > W dokumenacji gcc do flagi -fomit-frame-pointer piszą:
    >
    > Don't keep the frame pointer in a register for functions that
    > don't need one. This avoids the instructions to save, set up
    > and restore frame pointers; it also makes an extra register
    > available in many functions. *It also makes debugging impossible
    > on some machines.*
    >
    > Chodzi o ostanie zdanie. Dlaczego i na jakich architekturach
    > ma to znaczenie? Znacie jakieś przykłady.
    >
    > w.
    >
    Chodzi m.in. o x86. Jak jest frame pointer to latwo na stosie odnalesc
    poprzednie wywolania.

    Masz (uproszczony) stos:

    FF: Frame pointer current ebp FF
    FE: parm var
    FD: parm var
    FC: return address
    FB: Frame pointer (points to FF) current ebp FB
    FA: local var
    F9: local var
    F8: parm var
    F7: parm var
    F6: return address
    F5: Frame pointer (points to FB) current ebp F5

    A w ebp masz zawsze adress aktualnej ramki stosu, niezaleznie w ktorym
    miejsciu zostanie podlaczony debugger zbudowanie stosu wywolan jest
    trywialne.


    Pozdrawiam

    Marek




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: