section's vs fasm :)

Тема в разделе "WASM.BEGINNERS", создана пользователем ORANGIX, 20 фев 2007.

  1. ORANGIX

    ORANGIX New Member

    Публикаций:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    18
    Код (Text):
    1. section '.sdata' data readable writeable shareable
    2. MouseHookHandle dd 0
    3. KBHookHandle dd 0
    Объявил таким образом секцию в dll, чтобы страницы памяти разных либ указывали на одну физическую (читай были общими переменные для всех экземпляров либ)
    Этого достаточно или я что-то упускаю? просто код работает не так как надо и очень похоже что эта память всеже остается разной для разных экземпляров dll :dntknw:
     
  2. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Наверное я не совсем понял тему, но.
    Каждый процесс запускается в своем собственном 2х-гигабайтном АП. А значит не зависимо от того, что код находится, скажем, на 400000 в разных процессах, - это будут реально разные участки памяти.

    Если ты хочешь расшарить секцию, то либо через MavViewOfFile либо VirtualAllocEx либо еще как-то...
     
  3. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Наваял краткий пример. С ДЛЛ похожая ситуация думается мне;)
     
  4. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    а по хорошему надо лочить шину или использовать интерлоккед функции.
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    nitrotoluol
    а нафиг тогда атрибут shared?
     
  6. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Great
    да, ты прав... туплю
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    nitrotoluol
    link.exe /SECTION:name,[[!]{DEKPRSW}][,ALIGN=#]
    S: shared - Shares the section among all processes that load the image