Статья от Ms-Rem`a, но почему то совсем недавно запостили на Interface

Тема в разделе "WASM.HEAP", создана пользователем EvilsInterrupt, 21 июн 2007.

  1. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    Как это? А это:
    TASUPTParameter = record
    {$A1+} // может быть и 2 и 4 и 8
    OraID : Cardinal;
    Value : Single;
    Timestamp : TDateTime;
    State : Word;
    {$A1-}
    end;
     
  2. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Это влияет на выравнивание элементов внутри структуры, и то до 8 байт но не более. В случае глобальных переменных - ничего не выйдет, линкер их положит "как придется", разве что на границу DWORD выравняет. В случае написания какой-нибудь жутко оптимизируемой вещи, мне приходилось добавлять распорки из массивов. И что обидно - если подключается код написанный на TASM (в .obj), в которой есть выравненные переменные - линкер их выравнивание просто игнорирует.