Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.10.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.002 c
2-1358839393
ixen
2013-01-22 11:23
2013.10.13
Всплывающая подсказка в JVTrayIcon


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


6-1269550140
Entropius
2010-03-25 23:49
2013.10.13
Заголовки запроса в TIDHTTP


2-1358780606
Аскалот
2013-01-21 19:03
2013.10.13
PaintBox и другие


15-1367332053
Кирилов В.А,
2013-04-30 18:27
2013.10.13
Замена процессора на ноутбуке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский