парне, как думаете?!

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by sn0w, 11 Nov 2010.

  1. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    такая хирота изза оптимизации? зы ни в стеке ни в регистрах адресом хандлера и не пахнет

    [​IMG]
     
  2. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    2 пуша должно быть. на крйняк в случае изуверской оптимизации которую мс компилер любит делать - хотяб в регистрах или не далеко в стеке - тут же - анус
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ну а кто тебе не дает отключить оптимизацию для тестов?

    Просто адреса функций GetTickCount - они динамически пропишутся во время импорта. так что тут оптимизировать ничего не получится особо.
    А вот адрес функции твоей - он статический и по этому можно оптимизировать работу с ним типа не передавать через стек, извлекать и записывать число, а сразу записать куда надо это число.
     
    #3 slesh, 11 Nov 2010
    Last edited: 11 Nov 2010
  4. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    мда /Od все решило. жаль тока глдаза уже слипаюцца(
     
  5. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    кстати не решило - еще часа полтора протрахался (уже устал и не соображал) - прога валилась с BoF после вызова dprintf которую я сделал как форматированный вывод для OutputDebugString. ошибка прозаичная - dprintf вызывалась в хандлере перехваченной сплайсом HeapAlloc, что конечно же приводило к уходу в рекурсию (выделение памяти в сабе OutputDebugString) в самом обработчике. учитесь на чужих ошибках ;)