Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (5)
  • И как это понимать 0_о?

    xomachine
    @xomachine
    Так с плавающей точкой, а не плавающей запятой.

    В языках программирования (да и в английском языке) дробную часть принято отделять точкой.
    Ответ написан
    5 комментариев
  • Возможно ли узнать сигнатуру виртуального метода из рантайма?

    xomachine
    @xomachine Автор вопроса
    Сам спросил, сам нашёл решение (пусть и не универсальное)
    Можно с высокой долей вероятности успешно вычислить сигнатуру метода по глубине стека, на которую обращаются инструкции. Для этого потребуется дизассемблировать метод и отследить регистры связанные со стеком.
    Рабочий прототип отслеживающей процедуры для моего случая можно найти тут. Прототип написан на Nim с использованием libopcode и libbfd из пакета binutils, который входит в большинство дистрибутивов линукс.

    На скриншоте результат подобного угадывания количества аргументов методов (CAdapterSteamClient017, справа) и (слева) кусок исходника, соответствующий данному классу. (надеюсь, Valve меня не забанят за публикацию скриншота с маленьким куском исходников)
    Как видно из скриншота, предсказанное количество аргументов соответствует реальному.
    5a4e980def378215372175.png
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (1)