Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Instrukcja goto - zło wcielone?

Ostatnio zmodyfikowano 2013-01-09 20:50
Autor Wiadomość
Elaine
» 2013-01-09 09:54:19
poza tym w jakiś tam sposób utrudniasz robotę kompilatorowi
W jaki sposób? Normalny kompilator zamienia wszystkie ify i pętle na goto, kilka dodatkowych nie zrobi mu żadnej różnicy.
P-73443
kubawal
» 2013-01-09 16:44:13
goto dokładnie odwzorowuje instrukcje skoku procesora (instrukcję jmp z asma)
P-73463
Mrovqa
» 2013-01-09 20:13:05
goto osobiście nie używam, a w każdym razie nie pamiętam, bym używał, ale na logikę - przy takim skoku trzeba uważać i coś zrobić ze stosem - w końcu kompilatory dla optymalizacji nie tworzą ramek stosu, tylko adresują względnie od esp - wtedy mają rejestr ebp dodatkowo do dyspozycji. Jednakże co się dzieje w rzeczywistości - nie wiem, ale wydaję się być ciekawym :) Może kiedyś to zbadam.

/edit:
@Down
Aha, czyli w takim razie pewnie kompilator na początku dowolnej funkcji już sobie od razu rezerwuje potrzebne miejsce na stosie (o to mi głównie chodziło :P Choć z tego co pamiętam, to gdzieś nawet iterator pętli był tak zaalokowany (zadanie z RE) :P)
P-73489
Elaine
» 2013-01-09 20:50:27
Ale goto nie ma możliwości przeskoczenia do innej funkcji, więc także do innej ramki stosu, stos nie jest ruszany.
P-73497
1 2 « 3 »
Poprzednia strona Strona 3 z 3