LINUX.ORG.RU

Огромный бинарник. Хэлп


0

0

Народ, не могу открыть бинарник! Т.е. бинарник размером 150 Мб открывается свободно функцией fopen(), а бинарник размером 4,5 Гб не открывается! Как мне его открыть для чтения? Очень надо. Посоветуйте кто что. Он типа в память копируется, а столько места нет? Или как?

anonymous

Это ты кде и гном собранные статикой статично же присобачил к программе? И наверное еще оракл сверху..

А по теме - попробуй сделать своп большой...

signal
()
Ответ на: комментарий от signal

А если нету места под swap? Как можно прочитать его не грузя ни в какой swap?

anonymous
()

надо собирать с
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
и открывать с помощью open и флага O_LARGEFILE

fghj ★★★★★
()
Ответ на: комментарий от fghj

Т.е. если я создал прогу на КуТэ, то надо писать так: qmake proga.pro -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE ? А если fopen? А то я работаю с такими фекциями как fseek и fread?

anonymous
()
Ответ на: комментарий от aton

Речь идет не об исполняемом файле, а о файле с данными. А я не сказал ? блин. Да, действительно бинарник с данными с которыми я работаю.

anonymous
()

Я что-то не пойму в чем проблема открытия файла любой длины???

ProtecT
()
Ответ на: комментарий от anonymous

если ты работаешь с Qt, то почему не пользуешься QFile'ом и прчими Qt'шными вещами? Дескриптор, возвращаемый open, потом можно открыть с помощью fdopen и далее его можно юзать в fsee/fread

Reset ★★★★★
()
Ответ на: комментарий от Reset

Не пашет. Все ок, но вот все падает при обращении к fread... Раньше рагался на fseek, я заменил его на lseek.

anonymous
()
Ответ на: комментарий от sS

И в догонку. Ты буфер в 4,5 Гб смог выделить ? =)

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.