Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 .. 54   вперед  Ctrl
 Re: какие новости в мери Delphi  [new]
b0rk
Member

Откуда: Харьков
Сообщений: 506
Kazantsev Alexey
rgreat
Было бы гораздо больше проблем, если бы Cardinal под х64 был 64-битный.

У хардкодящих дебилов - да. У тех кто доку читает - нет. К сожалению, вторые в меньшинстве.

похоже .NET тоже дебилы писали - там int имеет размер 32 бита хоть в x86, хоть в x64
23 ноя 16, 22:41    [19927475]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
defecator
Member

Откуда:
Сообщений: 34674
b0rk
Kazantsev Alexey
пропущено...

У хардкодящих дебилов - да. У тех кто доку читает - нет. К сожалению, вторые в меньшинстве.

похоже .NET тоже дебилы писали - там int имеет размер 32 бита хоть в x86, хоть в x64
ъ
вообще-то, родитель Дельфей писал .Net
23 ноя 16, 22:42    [19927483]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2419
rgreat
У всех было бы больше проблем.
Например с сериализацией.

Кто сохранение raw data называет сериализацией, тот сам себе злобный буратино. Уверен, и с сериализаций, например, Long strings там тоже проблемы.
23 ноя 16, 22:42    [19927484]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2419
b0rk
похоже .NET тоже дебилы писали - там int имеет размер 32 бита хоть в x86, хоть в x64

Не понимаю причём тут дотнет. Или ты думаешь я по поводу имени типов печалюсь? В дельфийской доке, обычным английским языком, было сказано, что размеры типов Integer и Cardinal зависят от разрядности процессора. Кому требовалось конкретная разрядность должны были использовать соответствующий тип, в частности, для 32-бит должны были использоваться типы LongInt и LongWord.
23 ноя 16, 22:49    [19927506]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
rgreat
Member

Откуда:
Сообщений: 3531
Kazantsev Alexey
rgreat
У всех было бы больше проблем.
Например с сериализацией.

Кто сохранение raw data называет сериализацией, тот сам себе злобный буратино. Уверен, и с сериализаций, например, Long strings там тоже проблемы.
Мухи отдельно, котлеты отдельно.

Integer переменного размера это явное неудобство.

А то что ты на это в pointer math заложился (причем судя по всему до того как в Delphi вообще появилось x64) - это твой собственный неверный выбор.

Взял бы Pointer, проблем бы не имел.
23 ноя 16, 23:20    [19927626]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
GunSmoker
Member

Откуда:
Сообщений: 2887
YuRock
2. Сделали поддержку AMD64, наплевав на разработчиков, которые ранее читали документацию Борланда, которая гласила: "The generic integer types are Integer and Cardinal; in its current implementation, is equivalent to the 32-bit Longint", убив таким образом вполне естественное соответствие c.int=pascal.Integer;


Вообще-то, в архитектуре AMD64 целочисленный "generic" тип имеет размер 4 байта, а вовсе не 8.
23 ноя 16, 23:34    [19927690]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
Kazantsev Alexey
makhaon
но насчет совместимости со старым кодом 64 в делфи выполнена великолепно. в довольно большом коде пришлось переписывать минимум.

Это от кода зависит. Я нехило огрёб, поскольку пришлось адресную арифметику, коей было овер дофига, переделывать с Cardinal на NativeUInt (а такой код переделывать занятие нифига не весёлое). Вот ради чего, спрашивается, букварь курил? А сделали они это из-за кучи хардкодивших дебилов.
Вот-вот. Я тоже всегда и везде писал sizeof( Integer ) или sizeof( Cardinal ), будучи уверен, что это был и будет платформозависимым кодом.

А теперь получилось, что для 16 бит Integer 16-битный, для 32 бит - 32-битный, а для 64 бит - всё равно 32-х битный. Офигительно логично.
23 ноя 16, 23:41    [19927714]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
makhaon
в си и в делфи стали разные инты? так много приходится переписывать с c?
Какое это имеет значение? Да просто Integer сейчас вообще бесполезный неочевидный тип. Лишнего быть не должно.

А для меня инт есть инт. В Паскале он назывался и назывался Integer. А теперь умер, стал бессмысленным, а появился какой-то новый с уродским названием.
23 ноя 16, 23:46    [19927732]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
Kazantsev Alexey
В дельфийской доке, обычным английским языком, было сказано, что размеры типов Integer и Cardinal зависят от разрядности процессора.
О том и речь. Я все не читал, конечно, но уверен, что это было написано во всех доках для борландовских компиляторов Pascal/Delphi.
23 ноя 16, 23:54    [19927774]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
GunSmoker
Member

Откуда:
Сообщений: 2887
YuRock
Да просто Integer сейчас вообще бесполезный неочевидный тип. Лишнего быть не должно.

А для меня инт есть инт. В Паскале он назывался и назывался Integer. А теперь умер, стал бессмысленным, а появился какой-то новый с уродским названием.


Если ты чего-то не понимаешь, это не значит, что все остальные - идиоты. 4-байтный Integer - это родной и самый эффективный для x64 тип.
23 ноя 16, 23:55    [19927779]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Товарищ младший сержант
Member [заблокирован]

Откуда:
Сообщений: 5126
Вот разнылись. Боб Дилан песню про страдания паскалистов напишет и получит еще одну нобелевку.
23 ноя 16, 23:55    [19927782]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
Kazantsev Alexey
rgreat
Было бы гораздо больше проблем, если бы Cardinal под х64 был 64-битный.

У хардкодящих дебилов - да. У тех кто доку читает - нет. К сожалению, вторые в меньшинстве.
Зато теперь любой код выглядит как говнокод ;)
23 ноя 16, 23:58    [19927794]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Товарищ младший сержант
Member [заблокирован]

Откуда:
Сообщений: 5126
GunSmoker
YuRock
Да просто Integer сейчас вообще бесполезный неочевидный тип. Лишнего быть не должно.

А для меня инт есть инт. В Паскале он назывался и назывался Integer. А теперь умер, стал бессмысленным, а появился какой-то новый с уродским названием.


Если ты чего-то не понимаешь, это не значит, что все остальные - идиоты. 4-байтный Integer - это родной и самый эффективный для x64 тип.


Помнится, размер интежера послужил причиной поедания ремня.
23 ноя 16, 23:58    [19927798]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
GunSmoker
Member

Откуда:
Сообщений: 2887
YuRock
Я тоже всегда и везде писал sizeof( Integer ) или sizeof( Cardinal ), будучи уверен, что это был и будет платформозависимым кодом


Integer и Cardinal - по прежнему процессорно-зависимые. Надо просто понимать, что размер целочисленного типа в процессоре не всегда совпадает с разрядностью указателя.
23 ноя 16, 23:59    [19927801]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
GunSmoker
YuRock
Да просто Integer сейчас вообще бесполезный неочевидный тип. Лишнего быть не должно.

А для меня инт есть инт. В Паскале он назывался и назывался Integer. А теперь умер, стал бессмысленным, а появился какой-то новый с уродским названием.


Если ты чего-то не понимаешь, это не значит, что все остальные - идиоты. 4-байтный Integer - это родной и самый эффективный для x64 тип.
Самый эффективный - не размером ли с регистр?
23 ноя 16, 23:59    [19927802]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
GunSmoker
Member

Откуда:
Сообщений: 2887
YuRock
Cамый эффективный - не размером ли с регистр?


Внезапно - нет.
24 ноя 16, 00:00    [19927807]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
GunSmoker,

И еще вопрос. Самый эффективный для решения каких задач? Для многих задач - Byte - самый эффективный.
24 ноя 16, 00:01    [19927813]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 1867
YuRock,

автор
А для меня инт есть инт. В Паскале он назывался и назывался Integer. А теперь умер, стал бессмысленным, а появился какой-то новый с уродским названием.


я явно что-то не так делаю. у меня 90% кода на нем. и проблем нет.
24 ноя 16, 00:05    [19927831]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2419
rgreat
Мухи отдельно, котлеты отдельно.

Чой та? Сериализация у нас существует исключительно для статически размещённых данных?

rgreat
Integer переменного размера это явное неудобство.

Нет никакого неудобства.

rgreat
А то что ты на это в pointer math заложился (причем судя по всему до того как в Delphi вообще появилось x64) - это твой собственный неверный выбор.

Взял бы Pointer, проблем бы не имел.

Ну попробуй к поинтеру прибавить чего-нибудь, без приведения типа. Это сейчас можно c PByte кувыркаться как хочешь, а раньше нельзя было.
24 ноя 16, 00:05    [19927835]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
GunSmoker
Member

Откуда:
Сообщений: 2887
YuRock, посмотри ассемблер, как работает x32 с Integer, и как работает x64 с Int64.
24 ноя 16, 00:06    [19927837]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Товарищ младший сержант
Member [заблокирован]

Откуда:
Сообщений: 5126
Народ, о чем вы вообще спорите. Закрытая платформа. Как сделано, так сделано, ничего не изменишь, хоть на тыщу страниц тут нафлуди.
Читаем документацию к конкретному релизу и пользуемся.
Что там будет в будущем - узнаем не раньше наступления этого самого будущего.
24 ноя 16, 00:07    [19927844]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
Кстати, уже лет 20 как есть тип Int64. Просилось же сделать Int32, а Integer оставить регистро-зависимым.
24 ноя 16, 00:07    [19927847]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 2069
Товарищ младший сержант
Читаем документацию к конкретному релизу и пользуемся.
Что там будет в будущем - узнаем не раньше наступления этого самого будущего.
Ну, того, что я хочу, уже точно не будет, потому и крик души)
24 ноя 16, 00:11    [19927855]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2419
GunSmoker
Внезапно - нет.

Внезапно, дельфийская дока:
The platform-dependent integer types are NativeInt, and NativeUInt; use these types whenever possible, since they result in the best performance for the underlying CPU and operating system

24 ноя 16, 00:12    [19927859]     Ответить | Цитировать Сообщить модератору
 Re: какие новости в мери Delphi  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 2419
YuRock
А теперь получилось, что для 16 бит Integer 16-битный, для 32 бит - 32-битный, а для 64 бит - всё равно 32-х битный. Офигительно логично.

А на iOS 64 LongInt 64-битный
24 ноя 16, 00:13    [19927865]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6] 7 8 9 10 .. 54   вперед  Ctrl
Все форумы / Delphi Ответить