Как вы можете переносить (x86 и AMD64) смещение (> 4 ГБ) в файле? - PullRequest
6 голосов
/ 21 сентября 2011

Как вы можете переносить (x86 и AMD64) смещение (> 4 ГБ) в файле?

File.seek () принимает long на AMD64 и int на x86 (или size_t на обоих).

Мне нужно принять длинную на x86. Как я могу это сделать?

(У меня ужасное чувство, что это ограничение поиска в C, и что мне придется выполнить несколько относительных поисков, чтобы получить смещение> 4 ГБ.)

Спасибо

Крис.

1 Ответ

4 голосов
/ 21 сентября 2011

std.stdio.File.seek занимает много времени, но преобразует его в int в Windows.Это было бы ограничением библиотеки времени выполнения C Digital Mars.Судя по исходному коду , других ограничений платформы нет.

...