Доступ к объектам класса C++ из ассемблерной функции

Тема в разделе "WASM.BEGINNERS", создана пользователем rainman, 27 янв 2007.

  1. rainman

    rainman New Member

    Публикаций:
    0
    Регистрация:
    21 янв 2007
    Сообщения:
    2
    Плиз, дайте ссылку на документацию по этому вопросу или работающий кусок кода с комментариями.

    Задача заключается вот в чем - есть реализация класса, и надо переписать одну из функций-членов на ассемблере. При этом очень не хочется передавать функции кучу параметров, чтобы избежать непосредственного обращения к членам класса.
    Чуть более конкретно: в класса A определена функция X и указатель на экземпляр класса B. В функции X интенсивно используется доступ к объектам класса B. Классы А и В являются дружественными.
     
  2. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    не специфицированно
    в каждом компиляторе собственная реализация
    и, кроме того, способ вызова может зависет от настроек
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  4. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    В общем случае с классами в инлайн-ассемблере лучше не связываться. Причина - гиморность и ненадежность в случае изменений в объявлении класса, т.к. виртуальные и невиртуальные методы вызываются по разному, обращение к свойствам тоже зависит от того ссылаются они напрямую на поле объекта или через функцию, да еще приватную. А в частном случае, когда разрешен непосредственный доступ к полям объекта и не нужны вызовы свойств и методов - пожалуйста, т.к. в этом случае работа с экземпляром класса ничем не отличается от обычной структуры - получил указатель на экземпляр и вперед ;)