|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 5, 2004 16:08:15 Вспоминая традиции com- файла ставлю ret (а не ExitProcess) в конце программы. Всё работает т.к. в стеке при старте адресс ExitThread (push eax call ExitThread). Вопрос: можно ли так, нормально ли завершится программа (освободит ли все ресурсы) и как будет в многопоточных приложениях (у меня в XP SP1- вроде нормально работает)? |
|
|
Дата: Мар 5, 2004 16:48:22 Дело в том, что при вызове CreateProcessW менеджером, и после ...действий вызывается из CreateProcessW CreateProcessInternalW: Call [EBP+08], которая указывает на метку START Твоей проги. Короче она (прога) запущена. После комманды RET ?, если стек в порядке, то мы попадаем соответственно, на следующую комманду в CreateProcessInternalW: Push EAX Call ExitThread Так что это аналогичный, не менее корректный способ выгрузки. Следует только учетсь то что важно, что в EAX. |
|
|
Дата: Мар 6, 2004 07:53:57 Debug с вами, медетируйте |
|
|
Дата: Мар 9, 2004 03:58:22 Sem нормально ли завершится программа (освободит ли все ресурсы) Imho если твоя программа сама не освобождает ресурсы, а надеется на ОС, то это уже не нормально. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062 |