Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 02.09.2019, 09:04   #1
_alexes_
Новичок
Джуниор
 
Регистрация: 26.07.2014
Сообщений: 1
По умолчанию как объявить и использовать буфер, не зная его размера

всем здравствуйте.
(Linux, nasm, 32bit)
у меня есть задача считать файл, по его заголовку узнать значимый размер данных, с которыми буду работать (каждый раз может быть другого размера) и затем этот размер данных внести в буфер и с ним уже производить манипуляции.
как бы это оформить в ASM - программе? понятно, что буфер объявить, но как именно, чтобы произвольного размера и затем, как я файл прочитаю, его размер уже будет известен... или я что-то не то думаю?
очень заранее спасибо за советы!
_alexes_ вне форума Ответить с цитированием
Старый 02.09.2019, 09:13   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

я не специалист в ассемблере, тем более в Linux
но, предположу, что у Вас такие варианты:
1-й. Выделить буфер достаточного для обработки размера и читать файл в него частями - прочитали, обработали, прочитали следующий кусок - обработали и т.д. до конца файла.
2-й. Искать про динамическое выделение памяти (наверняка есть функции ОС, которые позволяют приложению потребовать выделить кусок оперативной памяти нужного размера. Учитывать, что если файл большого размера, то памяти может не хватить, да и скорость работы приложения может быть, как ни странно, ниже чем в варианте 1.
3-й. если файлы не более чем какой-то размер, то можно задать ограничение в программе - выделить некую область памяти, если файл больше - то сообщать, что его обработать невозможно, т.к. его размер превышает XXXX.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение размера файлов большого размера stpdqstns Общие вопросы C/C++ 4 13.03.2013 10:50
Как отправить файл на сервер через FTP не зная имени, а зная только расширение файла? Самуйлов Э.В. Общие вопросы Delphi 2 03.03.2013 12:15
объявить на C++ Madmaxisss Visual C++ 6 04.08.2012 04:53
Зависимость размера рисунка от размера формы Hippie Мультимедиа в Delphi 3 18.05.2010 09:46
как объявить синус? pinya86 Microsoft Office Excel 4 13.05.2009 02:05


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840