ADDR против offset

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by CroCop, 15 Oct 2009.

  1. CroCop

    CroCop New Member

    Joined:
    27 Sep 2009
    Messages:
    25
    Likes Received:
    4
    Reputations:
    0
    Всем доброго времени суток.
    У меня вопрос такой вот:чем отличаются друг от друга ADDR и offset?
    Просматривая исходники пришел к выводу,но на мой взгляд не точному,что они практически выполняют одну и ту же задачу.
     
  2. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    задача то одна, есть большие отличия
    - addr работает только с invoke
    - addr не работает с метками определенными позднее
    - и самое важное addr поддерживает локальные переменные (offset - нет)

    offset определяется во время ассемблирования, addr для глобальных переменных во время ассемблирования, для локальных развернется во чтото подобное

    lea eax, [ebp+n]
    push eax

    ps читайте книги, там все написано или хотя бы изелиона )))
     
    1 person likes this.
  3. CroCop

    CroCop New Member

    Joined:
    27 Sep 2009
    Messages:
    25
    Likes Received:
    4
    Reputations:
    0
    Спасибо за всеобъемлющий ответ.