-
В распоряжении есть D7-D2007.
На {$ALIGN 16} ругается, для выравнивания кода вообще нет директив.
Есть ли какие-либо ухищрения, позволяющие это сделать,
или можно только подбирать каждый раз неиспользуемые код и данные для выравнивания?
-
> На {$ALIGN 16} ругается, для выравнивания кода вообще нет
> директив.
странно на {$GiveMeBeer} тоже ругаеться. Тебе что именно выровнять ? Это требует понимания. если packed, то {$A8} нужно - для 64 бит.
-
tesseract © (08.04.08 21:59) [1]
Причем тут {$GiveMeBeer} и packed? Мне нужно именно 128-битное выравнивание для SSE кода и данных под него.
-
> Мне нужно именно 128-битное выравнивание для SSE кода
Делфи - среда быстрой разработки бизнес-приложений.
Нахрена бизнес-приложениям твое "выравнивание" ?
Подумай)
Только не надо трындеть про "красоту")
-
Сергей М, (08.04.08 22:11) [3]
> Делфи - среда быстрой разработки бизнес-приложений.
Тьфу, терпеть не могу такое высказывание.
Мне надо выравнивание, и все тут. Я не "бизнес-приложение" пишу.
-
> Причем тут {$GiveMeBeer} и packed? Мне нужно именно 128-
> битное выравнивание для SSE кода и данных под него.
128 битное выравнивание это к врачу. 64-битное это приемлимо, если понимаешь зачем процессору это нужно. Оно реально нужно только для 64 битных регистров. А про packed - к классикам.
-
> Я не "бизнес-приложение" пишу.
А как же "красота" ?)
А как же "исключения" ?)
Что, они теперь уже лесом идут ?)
> терпеть не могу такое высказывание
Экое у тебя нетерпение)
А ведь никуда не деться - придется терпеть)
-
> Тьфу, терпеть не могу такое высказывание.
значит полохой из тебя хакер.
-
tesseract © (08.04.08 22:15) [5]
Ты не знал, что SSE работает с 128-битными переменными и таким же выравниванием?
Даже без SSE, если начало функции кратно параграфу, такая функция выполняется быстрей, начиная с Pentum II. Тоже не знал?
-
> если начало функции кратно параграфу, такая функция выполняется
> быстрей, начиная с Pentum II
Фцытатник!
-
Интересно, нормальные ответы будут?
-
какого ты ждешь нормального ответа ? Что код и без того выровнен на некую границу, определенную в заголовке PE-файла ? Что данные, расположенные в области, выделенной по VirtualAlloc гарантировано выровнены на 64 кило ?
-
> Тыщ (08.04.08 23:52) [10]
>
> Интересно, нормальные ответы будут?
>
Нормальные ответы уже были. Например в tesseract © (08.04.08 22:15) [5].
Вот нормального вопроса пока не было. Разве
> Мне надо выравнивание, и все тут.
может считаться нормальным вопросом?
-
Игорь Шевченко © (09.04.08 0:03) [11]
Вообще-то я имел ввиду выравнивание самого кода, а не секций в exe-шнике.
Delphi всегда выравнивает код на 4 байта.
Это что ж, мне копировать код нужных функций и статических данных в буфер, выделенный VirtualAlloc? Криво как-то.
Германн © (09.04.08 0:24) [12]
См. [2].
-
> Тыщ (09.04.08 00:27) [13]
>
> Игорь Шевченко © (09.04.08 0:03) [11]
>
> Вообще-то я имел ввиду выравнивание самого кода, а не секций
> в exe-шнике.
> Delphi всегда выравнивает код на 4 байта.
>
> Это что ж, мне копировать код нужных функций и статических
> данных в буфер, выделенный VirtualAlloc? Криво как-то.
>
А при чём тут директива компилятора ALIGN? Ты справку по этой директиве читал?
> Германн © (09.04.08 0:24) [12]
>
> См. [2].
>
Смотрел. Опять "Мне нужно"!
Опять вместо may/can использовано must.
-
Германн © (09.04.08 0:52) [14]
> А при чём тут директива компилятора ALIGN?
Еще в сабже было написано: "Как выравнить код и данные на границу 16 байт?"
Соответственно первой попыткой было установить ALIGN в 16.
> Ты справку по этой директиве читал?
Я что, как-то "новичковато" выгляжу что-ли? Конечно читал.
> Смотрел. Опять "Мне нужно"!
Естественно, нужно. Если бы не нужно было, не спрашивал бы.
-
> Тыщ (09.04.08 01:06) [15]
>
> Германн © (09.04.08 0:52) [14]
>
> > А при чём тут директива компилятора ALIGN?
>
> Еще в сабже было написано: "Как выравнить код и данные на
> границу 16 байт?"
> Соответственно первой попыткой было установить ALIGN в 16.
>
>
> > Ты справку по этой директиве читал?
>
> Я что, как-то "новичковато" выгляжу что-ли? Конечно читал.
>
>
>
Хм. Плохо читал.
-
Германн © (09.04.08 1:37) [16]
> Плохо читал.
Ну да, конечно, любой незарегистрированный пользователь по умолчанию ни черта не знает и плохо читал.
-
> Тыщ (09.04.08 01:43) [17]
>
> Германн © (09.04.08 1:37) [16]
>
> > Плохо читал.
>
> Ну да, конечно, любой незарегистрированный пользователь
> по умолчанию ни черта не знает и плохо читал.
И всё равно - плохо читал. Примите и прочь.
-
Германн © (09.04.08 1:56) [18]
Странный ты. Заладил "плохо читал", "плохо читал". Твое утверждение голословно.