Показать сообщение отдельно
Старый 16.03.2011, 00:08   #6
1nt
 
Регистрация: 21.10.2010
Сообщений: 19
Репутация: 0
По умолчанию

я конечно не знаю, может тс опустил это специально, однако болванка длл отличается от того, что он скинул.
в точке входа сразу же вешается обработчик событий, который выясняет что сделали с либой, и в соответствии с этим выполняет определенные действия:
Код:
#include <windows.h>

BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
                       DWORD reason        /* Reason this function is being called. */ ,
                       LPVOID reserved     /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        break;

      case DLL_PROCESS_DETACH:
        break;

      case DLL_THREAD_ATTACH:
        break;

      case DLL_THREAD_DETACH:
        break;
    }

    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}
Соответственно, чтобы библиотека была рабочей, функцию calc нужно описать и использовать в DLL_PROCESS_ATTACH. Асм код получается без проблем ключом "-s", описанным выше.
1nt вне форума   Ответить с цитированием