подключение библитек в fasm

Discussion in 'WASM.BEGINNERS' started by e4key, Sep 15, 2009.

  1. e4key

    e4key New Member

    Blog Posts:
    0
    Joined:
    Jul 28, 2009
    Messages:
    101
    Привет всем. Как можно указать FASM'y, где искать библиотеки? Я хочу сделать программу для работы с Firefox и мне понадобилось использовать БД в формате sqlite. В самой директории Firefox есть dll - sqlite3.dll, через которую я и пытаюсь работать с БД. Но дело в том, что этой dll нужна еще одна dll, которую моя программа собственно найти и не может. Пока пришло в голову только скопировать нужные мне dll в системную папку или прописать path на папку Firefox'a.
     
  2. e4key

    e4key New Member

    Blog Posts:
    0
    Joined:
    Jul 28, 2009
    Messages:
    101
    Попробовал сделать через LoadLibrary + GetProcAddress. Проверяю на ошибки, а там ошибка 127 (процедура не найдена), хотя олли показывает, что такая процедура там есть.

    Вот как делаю:

    Code (Text):
    1. invoke  LoadLibrary, dllSQLite
    2. invoke  GetProcAddress, eax, nameOpen
    3. mov     [sqlite3_open], eax
     
  3. leo

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    У Intel в 1-м томе есть простой перечень всех инструкций с кратким описанием. Можно самому скопипастить в M$ Word или в тот же pdf, рассортировав по своему усмотрению. Ну а за подробностями можно и во второй том слазить ;)
     
  4. leo

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    Фу ты, блин, темой ошибся. И не удалишь, не отредактируешь. Не форум, а какая-то убогость ;)
     
  5. shoo

    shoo New Member

    Blog Posts:
    0
    Joined:
    Jul 17, 2003
    Messages:
    1,537
    Location:
    Ukraine
    это работает:

    Code (Text):
    1.     invoke SetCurrentDirectory,dir
    2.     invoke  LoadLibrary, dllSQLite
    3.     or  eax,eax
    4.     jz  .exit_true
    5.     invoke  GetProcAddress, eax, nameOpen
    6.     or  eax,eax
    7.     jz  .exit_true
    8.     mov     [sqlite3_open], eax
    Code (Text):
    1. dllSQLite   db "sqlite3.dll",0
    2. nameOpen    db "sqlite3_open",0
    3. dir         db "c:\Program Files\Mozilla Firefox\",0
     
  6. e4key

    e4key New Member

    Blog Posts:
    0
    Joined:
    Jul 28, 2009
    Messages:
    101
    shoo, спасибо :)