Как подключить DLL

Тема в разделе "WASM.ASSEMBLER", создана пользователем DeGlucker, 16 сен 2007.

  1. DeGlucker

    DeGlucker New Member

    Публикаций:
    0
    Регистрация:
    19 сен 2002
    Сообщения:
    28
    Как к программе на MASM32 статически подключить чужой DLL ?
    Как сделать inc файл понятно, а как сделать lib ?

    Спасибо.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    http://wasm.ru/print.php?article=1018001
     
  3. DeGlucker

    DeGlucker New Member

    Публикаций:
    0
    Регистрация:
    19 сен 2002
    Сообщения:
    28
    Сделал twsup.def по предыдущему совету:

    LIBRARY twsup
    EXPORTS clrasp
    setasp
    getasp

    В twmt.asm добавил:

    .486
    .model flat, stdcall
    option casemap :none
    ....
    includelib twsup.lib
    clrasp proto : dword
    setasp proto : dword
    getasp proto : dword
    ....
    push 0
    call clrasp
    ....

    Линкер ругается:
    twmt.obj : error LNK2001: unresolved external symbol _clrasp@4

    какого хрена он довавляет _ и @4 ???
     
  4. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Видимо, функция объявлена как stdcall, в таком случае к имени ф-ии добавляется префикс "подчеркивание" и постфикс "@X", гд Х == количество аргументов в байтах.
     
  5. DeGlucker

    DeGlucker New Member

    Публикаций:
    0
    Регистрация:
    19 сен 2002
    Сообщения:
    28
    А где об'явить что она syscall, в def или в asm и как ?