Abs62

Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору nick7inc Цитата: Без оптимизации не проявляется, возможно из-за обёрточной функции. | Угу, судя по дисассемблированному коду, оператор "mov %ebp,%esp" восстанавливает ESP, что бы с ним внутри функции ни происходило. Думаю, тут надо смотреть в отладчике, пошагово проходя дисассемблированный код. После всех манипуляций с передачей параметров и вызова функции значение ESP должно вернуться к тому, что было до того. Если этого не происходит, надо разбираться, что именно тут не так. Кстати, тут же можно и сразу посмотреть, какого типа на самом деле вызываемая функция. Если после возврата из "call *%edx" ESP меняется, это stdcall, если нет - cdecl (это касается функций с параметрами, если параметров нет, ESP в любом варианте не поменяется).
---------- 0 программистов ругал сердитый шеф Потом уволил одного, и стало их FF |
| Всего записей: 6100 | Зарегистр. 22-10-2005 | Отправлено: 12:56 06-12-2013 | Исправлено: Abs62, 12:57 06-12-2013 |
|