Есть структура. Как узнать смещение элемента в ней?

Тема в разделе "WASM.BEGINNERS", создана пользователем dyn, 22 окт 2010.

  1. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Привет
    Есть структура

    Код (Text):
    1. typedef struct _SOMESTRUCT
    2. {
    3.    int AAA;
    4.    char BBB;
    5.    long CCC;
    6.    bool DDD;
    7. };
    Мне нужно в переменную X передать смещение элемента CCC в структуре _SOMESTRUCT

    Можно ли как-то сразу передавать смещение в X, не выполняя след. действий:
    Код (Text):
    1. _SOMESTRUCT tmp;
    2. x = (DWORD)&tmp.CCC - (DWORD)&tmp
    а просто опираясь на уже известный формат структуры?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    FIELD_OFFSET
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    offsetof
     
  4. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Спасибо огромное!