powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ($ALIGN): что я делаю не так?
8 сообщений из 8, страница 1 из 1
($ALIGN): что я делаю не так?
    #39548501
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
{$ALIGN ON}
{$ALIGN 8}

type

  TNode = {packed} record
    Header: Byte;
    Value: Word;

    Next: Pointer;
  end;

function Test: NativeInt;
var
  Node: ^TNode;
begin
  Node := nil;
  Result := NativeInt(@Node.Next);
end;

initialization
  Test;



Почему 4, а не 8?
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548514
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компилируешь в 32 разряда. ALING задаёт максимальное выравнивание, а не минимальное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548531
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Мне нужно сделать выравнивание внутри структуры-дженерика. Есть цивилизованный способ это сделать?
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548537
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цивилизованные задачи не требуют ручного управления выравниванием. Соответственно,
цивилизованного способа его получить - нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548615
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovцивилизованного способа его получить - нет.

Чем не способ:
Код: pascal
1.
2.
3.
4.
5.
6.
  TNode = packed record
    Header: Byte;
    Value: Word;
    Next: Pointer;
    Dummy: Byte; 
  end;
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548814
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatDimitry Sibiryakovцивилизованного способа его получить - нет.

Чем не способ:
Код: pascal
1.
2.
3.
4.
5.
6.
  TNode = packed record
    Header: Byte;
    Value: Word;
    Next: Pointer;
    Dummy: Byte; 
  end;


Наоборот мб?
Код: pascal
1.
2.
3.
4.
5.
6.
  TNode = packed record
    Header: Byte;
    Value: Word;
    Dummy: Byte;
    Next: Pointer;
  end;
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548832
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо в рамках шаблонного типа
Так что бессмысленно )
...
Рейтинг: 0 / 0
($ALIGN): что я делаю не так?
    #39548949
я идиот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что конкретно ты хочешь? В представленном тобой примере как раз присутствует верное выравнивание.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ($ALIGN): что я делаю не так?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]