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

Тема в разделе "WASM.BEGINNERS", создана пользователем e4key, 15 сен 2009.

  1. e4key

    e4key New Member

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

    e4key New Member

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

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

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

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    У Intel в 1-м томе есть простой перечень всех инструкций с кратким описанием. Можно самому скопипастить в M$ Word или в тот же pdf, рассортировав по своему усмотрению. Ну а за подробностями можно и во второй том слазить ;)
     
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Фу ты, блин, темой ошибся. И не удалишь, не отредактируешь. Не форум, а какая-то убогость ;)
     
  5. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    это работает:

    Код (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
    Код (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

    Публикаций:
    0
    Регистрация:
    28 июл 2009
    Сообщения:
    101
    shoo, спасибо :)