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

Вниз

Как адресуются огромные файлы?   Найти похожие ветки 

 
TStas ©   (2005-12-12 19:50) [0]

У меня есть приятель - дизайнер. Он сдесь делал какую-то картинку огромную с немиеренным разрешением. Файл получился больше 4 Гигов. Намного больше. И как такой файлище адресуется? Он ведь единый. 32 разрядного указателя же не хватит


 
VirEx ©   (2005-12-12 19:55) [1]

ну дык и ненадо больше то 32х разрядного, такой файл для просмотра видимо динамически надо подгружать, и в 64й системе :)


 
Sergey Masloff   (2005-12-12 19:59) [2]

Начиная с WinNT 3.51, то есть с момента рождения Win32 API файловые указатели 64-битные. Просто они частями возвращаются


 
TStas ©   (2005-12-12 19:59) [3]

Ну как? 2^32 = 4 294 967 296, а файл намного больше, раза в два. Подгружать, но адресовать-то байты в нем все равно надо. Вопроос же не том, влезет он впамять. Понятно, что не влезет.


 
TStas ©   (2005-12-12 20:00) [4]

>Sergey Masloff  
Не успел прочесть. :)


 
Verg ©   (2005-12-12 20:01) [5]


> У меня есть приятель - дизайнер.


Ясно, что не Иванов.


>  Файл получился больше 4 Гигов. Намного больше.


Чем что?


> И как такой файлище адресуется? Он ведь единый. 32 разрядного
> указателя же не хватит


Resets the current position of the handle stream.

function Seek(Offset: Longint; Origin: Word): Longint; overload; virtual;
function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override;

Description

Use Seek to move the current position within the resource associated with the handle stream by the indicated offset. Seek allows an application to read from or write to a particular location within the resource.

The Origin parameter indicates how to interpret the Offset parameter. Origin should be one of the following values:

Value Meaning

soFromBeginning Offset is from the beginning of the resource. Seek moves to the position Offset. Offset must be >= 0.
soFromCurrent Offset is from the current position in the resource. Seek moves to Position + Offset.
soFromEnd Offset is from the end of the resource. Offset must be <= 0 to indicate a number of bytes before the end of the file.

Seek returns the new value of the Position property, the new current position in the resource.


 
Sergey Masloff   (2005-12-12 20:03) [6]

TStas ©   (12.12.05 19:59) [3]
читай хелп он рулез ;-)

Например

DWORD GetFileSize(
 HANDLE hFile,  // хэндл файла про который хотим узнать
 LPDWORD lpFileSizeHigh)  //Сюда вернется старшая часть 64-битного указателя

Результат функции - младщая часть указателя так как редко кто работает с файлами больше четырех гиг только ее и используют обычно.


 
Lamer@fools.ua ©   (2005-12-12 20:34) [7]

>>Sergey Masloff   (12.12.05 20:03) [6]

>так как редко кто работает с файлами больше четырех гиг только ее и используют обычно
Эта часть фразы уже устарела, IMHO. Щас народ такой ушлый пошёл. Хлебом не корми, дай какой-нить DVD образ покурочить +)



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
14-1134665173
_Lexus_
2005-12-15 19:46
2006.01.08
Новогодние поздравления, стихи и тосты на заказ


1-1133925432
AlexanderS
2005-12-07 06:17
2006.01.08
Динамическое сжатие данных в памяти


2-1135006138
Владимир_К
2005-12-19 18:28
2006.01.08
Программное добавление Кнопки.


2-1135237256
oleggar
2005-12-22 10:40
2006.01.08
время


2-1134477456
Zaletchik
2005-12-13 15:37
2006.01.08
Большие переменные