Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.10.13;
Скачать: CL | DM;

Вниз

pointer как integer   Найти похожие ветки 

 
guest123   (2013-01-23 13:12) [0]

объясните, что делает такая функция:

function XXX(P: Pointer): Integer;
begin
 Result := Integer(P);
end;


 
clickmaker ©   (2013-01-23 13:14) [1]

возвращает значение адреса в виде целого числа


 
брат Птибурдукова   (2013-01-23 13:19) [2]

Возвращает нижние 32 бита адреса.


 
guest123   (2013-01-23 13:19) [3]

понятно, спасибо


 
DVM ©   (2013-01-23 13:33) [4]


> guest123   (23.01.13 13:19) [3]

Причем имхо лучше таких функций избегать. Или специально комментировать. Потому как непонятно при портировании этого кода на 64 бит это недочет программиста и надо integer заменять на NativeInt или так задумано. Нижние 32 бит адреса можно получить и битовыми операциями и сразу понятно, что это специально так сделано.


 
Игорь Шевченко ©   (2013-01-23 13:39) [5]

DVM ©   (23.01.13 13:33) [4]

если не секрет, как много кода портировано на 64-бита и с какой целью ?


 
aka   (2013-01-23 15:23) [6]


>
> function XXX(P: Pointer): Integer;
> begin
>  Result := Integer(P);
> end;
>


Наверное правильнее будет Cardinal(P) для win32, а не Integer


 
QAZ10   (2013-01-23 15:30) [7]

кому для этого вообщее понадобилось создавать функцию ???!!


 
clickmaker ©   (2013-01-23 15:32) [8]

вообще, судя по названию, функция должна возвращать фотки


 
aka   (2013-01-23 15:33) [9]


> clickmaker ©   (23.01.13 15:32) [8]

А может и видео


 
O'ShinW ©   (2013-01-23 15:37) [10]


> кому для этого вообщее понадобилось создавать функцию ??
> ?!!
>

XXX(P) vs Integer(P) -
теперь меньше кнопок надо нажать!


 
DVM ©   (2013-01-23 15:52) [11]


> Игорь Шевченко ©   (23.01.13 13:39) [5]
> DVM ©   (23.01.13 13:33) [4]
>
> если не секрет, как много кода портировано на 64-бита и
> с какой целью ?

У меня? Не много, но есть. Причин перехода на 64 бит в моем случае две:

1) Приложение является расширением уже существующего 64 бит стороннего приложения, использует его 64 бит библиотеки и т.д. Т.е хочешь не хочешь, а приходится.

2) Реальная потребность в больших объемах памяти.


 
Игорь Шевченко ©   (2013-01-23 15:55) [12]

DVM ©   (23.01.13 15:52) [11]

Я к чему спрашиваю, по-моему острота необходимости перехода на 64-битную платформу несколько преувеличена.


 
DVM ©   (2013-01-23 16:00) [13]


> Игорь Шевченко ©   (23.01.13 15:55) [12]

Да это понятно, что в большинстве случаев эти самые 64 бит никому нафиг не сдались, но как мне кажется почему бы не писать код так, чтоб потом оно скомпилировалось и под 64 бит без проблем. Не трудно ведь. Мало ли потом пригодится.


 
QAZ10   (2013-01-23 16:04) [14]


> Игорь Шевченко ©   (23.01.13 15:55) [12]

ага, но не все на это ведутся, самые ресурсоемкие приложения - игры все поголовно 32битные , была только одна нелепая попытка у первой Crysis
а для плагинов и расширений тут конечно без вариантов


 
clickmaker ©   (2013-01-23 16:05) [15]

Удалено модератором


 
QAZ10   (2013-01-23 16:07) [16]

Удалено модератором


 
Игорь Шевченко ©   (2013-01-23 16:18) [17]

DVM ©   (23.01.13 16:00) [13]


> но как мне кажется почему бы не писать код так, чтоб потом
> оно скомпилировалось и под 64 бит без проблем.


Мне кажется, что к тому времени, когда возникнет нужда в переводе, писать уже нужно будет с учетом особенностей 128-разрядной системы.

Я застал этап перехода с 16-битной платформы на 32-битную, довольно безболезненно. И кстати, на такие фукции должны выдаваться предупреждения компилятора, а то на UNSAFE_CODE выдаются так, что их по умолчанию отключают. Мне сейчас лень запускать 64-битный компилятор, чтобы увидеть, а что там с предупреждениями в этом случае.

QAZ10   (23.01.13 16:04) [14]

Самые ресурсоемкие приложения - это серверы баз данных, почти все поголовно 64-битные


 
clickmaker ©   (2013-01-23 16:20) [18]

> Самые ресурсоемкие приложения - это серверы баз данных,

смотря где. Иногда и веб-серверы


 
брат Птибурдукова   (2013-01-23 16:47) [19]


> Мне сейчас лень запускать 64-битный компилятор, чтобы увидеть,
>  а что там с предупреждениями в этом случае.
А ничего там в этом случае :-( Компилится как миленькое. Вон, новая версия фастрепорта десятка три некорректных приведений содержит.


 
QAZ10   (2013-01-23 16:49) [20]


> Самые ресурсоемкие приложения - это серверы баз данных,
> почти все поголовно 64-битные

это специфика их изначальной кривости, неоптимальности, и человеческий фактор
да, конечно, надежность,бакапы и блабла,фтопку кароче...


 
clickmaker ©   (2013-01-23 17:03) [21]

Удалено модератором


 
DVM ©   (2013-01-23 17:03) [22]


> QAZ10   (23.01.13 16:49) [20]


> это специфика их изначальной кривости, неоптимальности

Да брось ты. Если есть много данных и нужен максимально быстрый доступ к этим данным, то нет другого варианта, как держать их в памяти.


> Игорь Шевченко ©   (23.01.13 16:18) [17]


>  Мне сейчас лень запускать 64-битный компилятор, чтобы увидеть,
>  а что там с предупреждениями в этом случае.

А с чего бы ему быть предупреждению? Код ведь вобщем то корректный, ведь его назначение компилятору неизвестно. Я с самого начала и написал, что такие места надо особо отмечать. Предупреждение должно быть там, куда вместо по сути указателя пытаются передать integer. Но такого предупреждения тоже нет.


 
QAZ10   (2013-01-23 17:27) [23]


> Если есть много данных и нужен максимально быстрый доступ
> к этим данным, то нет другого варианта, как держать их в
> памяти.

да, но некий Вася может задать строковое поле в 200 знаков, когда более чем достаточно 50, например
или понапихать фоточек,которые и на диске полежать могут

ну это так в качестве бреда :) я в базах нешарю...


 
Игорь Шевченко ©   (2013-01-23 17:43) [24]


> я в базах нешарю...


Я в играх не шарю, они вообще сплошь кривые, да ?


 
QAZ10   (2013-01-23 17:47) [25]


> Игорь Шевченко ©   (23.01.13 17:43) [24]

ну согласись что я прав про Васю, хоть и не шарю :)


 
clickmaker ©   (2013-01-23 17:48) [26]

> да, но некий Вася может задать строковое поле в 200 знаков,
> когда более чем достаточно 50

как показывает печальный опыт, чаще бывает наоборот...


 
aka   (2013-01-23 17:48) [27]


> > Самые ресурсоемкие приложения - это серверы баз данных,

Писал год назад меленький проект на Java, так пришлось ставить IDE c требованиями к ОП 2ГБ.

Что там может занимать столько места - сложно даже представить. Или эту IDE делали разработчики игр.


 
QAZ10   (2013-01-23 17:55) [28]


> clickmaker ©   (23.01.13 17:48) [26]

но текст то можно и сократить оставив при этом его осмысленность, а вот  гонять пустые байты ради того что может быть когдато да найдется необходимость, както некруто :(


 
брат Птибурдукова   (2013-01-23 18:00) [29]

сокр. сл. - эк. траф.!


 
Игорь Шевченко ©   (2013-01-23 18:00) [30]


> ну согласись что я прав про Васю, хоть и не шарю :)


Программу на Фортране можно написать на любом языке, сдуру сломать можно тоже много чего, но это вовсе не повод полагать, что разработчики считают пользователей законченными дебилами



Страницы: 1 вся ветка

Текущий архив: 2013.10.13;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.009 c
15-1367390399
Dimka Maslov
2013-05-01 10:39
2013.10.13
Реализация интерфейсов


11-1248262717
tcler
2009-07-22 15:38
2013.10.13
tinifile и windows 7


15-1367570888
Антоха
2013-05-03 12:48
2013.10.13
Запуск java-приложения Нокиа на андроид


10-1185888918
ВременныйГость
2007-07-31 17:35
2013.10.13
Как получить ячейку экселя через номер столбца


1-1315514533
Дмитрий
2011-09-09 00:42
2013.10.13
Иконки 256x256 и delphi7