Size: a a a

2020 March 18

AK

Alexey Kulakov in Delphi & Lazarus
ну вот и я в раздумьях. лет 10 назад, наверное, считал бы по байтам. лет 15 назад - кастовал бы ка dword на месте. а как правильнее сейчас?
источник

AS

Alexey Shumkin in Delphi & Lazarus
вот вы замороченные...
источник

AK

Alexey Kulakov in Delphi & Lazarus
АГА :)
источник

AK

Alexey Kulakov in Delphi & Lazarus
не, я понимаю, самое простое - посмотреть ассемблерный код...
источник

R

RusEm in Delphi & Lazarus
а там будет lea)
источник

AK

Alexey Kulakov in Delphi & Lazarus
а вот не факт, кстати
источник

AS

Alexey Shumkin in Delphi & Lazarus
мне кажется, речь о выравнивании идёт только при замещении переменных в памяти...
при чтении при касте - ни о каком выравнивании я бы не подумал
источник

AK

Alexey Kulakov in Delphi & Lazarus
ну, там где чтение - там и до записи недалеко
источник

AK

Alexey Kulakov in Delphi & Lazarus
хорошо, читать можно смело, а при записи как быть?
источник

VA

Viktor Akselrod in Delphi & Lazarus
Alexey Kulakov
если надо парсить двоичный файл, время от времени выделяя из буфера с содержимым разные типы, кастовать dword (int32) проще как pdword(ptr)^ или правильнее сейчас всё же собирать из байтов на случай невыровненных данных?
источник

R

RusEm in Delphi & Lazarus
Alexey Kulakov
хорошо, читать можно смело, а при записи как быть?
а что там не так? писать по указателю?
источник

AK

Alexey Kulakov in Delphi & Lazarus
я про то, что писать В ПАМЯТЬ побайтово или сразу кастуя int32 даже на невыровненных адресах?
источник

R

RusEm in Delphi & Lazarus
а в чем проблема писать кастуя?
источник

R

RusEm in Delphi & Lazarus
теперь и я перестал понимать
источник

AK

Alexey Kulakov in Delphi & Lazarus
ладно, забейте, сделаю как захочется (как чай в голову ударит)
источник

R

RusEm in Delphi & Lazarus
не не не. погоди. я просто тоже с бинарными файлами работаю. может у меня тоже не верно
источник

R

RusEm in Delphi & Lazarus
я просто пытаюсь понять саму проблему
источник

AS

Alexey Shumkin in Delphi & Lazarus
Alexey Kulakov
ладно, забейте, сделаю как захочется (как чай в голову ударит)
рано сдаёшься! ))
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Alexey Kulakov
я про то, что писать В ПАМЯТЬ побайтово или сразу кастуя int32 даже на невыровненных адресах?
каст если что не приводит к оверхиду по выполнению как правило. это фича времени компиляции и в реальном экзешнике от кастинга может и скорее всего ничего не останется
источник

GB

George Bakhtadze in Delphi & Lazarus
Dmitry Belkevich
без среды
казалось бы, среды для этого и нужны, но нет :)
источник