![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оптимизация в Delphi
noname © (2004-06-30 15:15:00)Есть код , содержаший CliSock:=accept(ServSock, si, sizesi);
Некоторое время я не понимал, почему это не работает. Но, посмотрев в CPU, увидел такой код:
push esp !!!
lea eax, [esp+8] !!!
push eax
mov eax, [ServSock]
push eax
call accept
Если отключить оптимизацию, то Delphi генерирует правильный код:
lea eax, [ebp-4] ; sizesi
push eax
lea eax, [ebp-14] ; si
push eax
mov eax, [ServSock]
push eax
call accept
В чём дело. Почему
lea eax, [ebp-4] ; sizesi
push eax
lea eax, [ebp-14] ; si
push eax
заменяется
push esp
lea eax, [esp+8]
push eax
noname (2004-06-30 15:27:00) [1]Возвращает $FFFFFFFF.
Digitman (2004-06-30 15:23:00) [2]
> почему это не работает
это как ?