Algorithm 如何定义大小未知的缓冲区

Algorithm 如何定义大小未知的缓冲区,algorithm,assembly,nasm,Algorithm,Assembly,Nasm,获得了一个任务(在汇编英特尔,#Linux ELF32,NASM中):从一个已知结构的文件中读取,它有一个大小不固定的头。我想打开一个文件,读取一个头(直到某个已知的stopbyte),然后分析它。不知道如何定义大小未知的缓冲区。。。 或者我不应该费心在固定缓冲区中读取,直到我得到stopbyte,然后再做其余的?或者打开一个文件两次?在第二次尝试时,我会确定尺寸。完成这项任务的优雅方式是什么? 谢谢大家! 与任何其他语言相同-动态内存分配。调用malloc或mmap。如果允许调用C库,则可以调

获得了一个任务(在汇编英特尔,#Linux ELF32,NASM中):从一个已知结构的文件中读取,它有一个大小不固定的头。我想打开一个文件,读取一个头(直到某个已知的stopbyte),然后分析它。不知道如何定义大小未知的缓冲区。。。 或者我不应该费心在固定缓冲区中读取,直到我得到stopbyte,然后再做其余的?或者打开一个文件两次?在第二次尝试时,我会确定尺寸。完成这项任务的优雅方式是什么?
谢谢大家!

与任何其他语言相同-动态内存分配。调用
malloc
mmap
。如果允许调用C库,则可以调用
malloc
mmap
。您也可以直接使用
sys\u brk
系统调用。这一点很好,但目前还不允许使用C库。尽可能低水平地做事。将挖掘到malloc/mmap方向。谢谢大家!@AlexTchaikovski
mmap
是一个系统调用,因此您可以直接调用它。您有关于文件格式的更多详细信息吗?构建这些格式的人理解易于阅读的需要。如果没有更多的细节,我们很难提供一个有用的答案。