HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 23.06.2009, 21:52
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

как ни крути но даже на 64 битных системах получить боьше 4 гигов на проц не получится потому как прожка всё равно под 32 бита.
По этому и на 32 битках незя больше 2 гигов (теоретически) (если ядро негрузить за третим гигом.)

А чтобы юзать SetFilePointer для данных больше 4 гигов то вычесляется так:
Код:
int64 size;
size =  хзхзхзхзхзхз очень много короче
long hs,ls;
ulong hi_addr = NULL;
hs = size >> 32;
ls = (LONG) size;
if (hs) hi_addr = &hs; else hi_addr = NULL;

SetFilePointer (h, ls, hi_addr, dwMoveMethod)
т.е. если есть часть выше 32 бит, то зададим её адрес.
А вообще есть прекрасный флаг - передвинуться от текущей позиции а не от начала.
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подставка для дисков "CD-Бидон" своими руками dinar_007 "Железо" 5 27.01.2008 18:47
Восстановление данных с лазерных дисков silveran "Железо" 5 10.09.2005 13:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.