【问题标题】:Dynamic Memory Allocation for Arraylists?数组列表的动态内存分配?
【发布时间】:2013-04-22 23:08:08
【问题描述】:

在 MARS 模拟器上使用 MIPS ISA 读取了一个 midi 文件后,我试图将解码的事件存储在一个数组列表中,该数组列表将在每个事件的播放时读取。 因为包含数据结构是一个数组列表,所以它必须能够动态收缩和增长。

在我的方案中,每个事件将作为两个单词存储在一个数组中。这意味着每次我向数组列表中添加一个元素时,列表必须增加 8 个字节。

我的问题是如何为分配期间不知道大小的数组动态分配足够的内存?然后我将如何浏览这个创建的列表?

【问题讨论】:

    标签: memory-management assembly arraylist mips mars-simulator


    【解决方案1】:

    要么在程序开始时从堆中为数组分配可能的最大大小,要么使用可以分段分配的不同数据结构,例如链表。

    【讨论】:

    • 我希望我不必只分配最大空间。好像有点原始啊!我想我不应该在装配级别上期待更多。
    猜你喜欢
    • 2020-08-07
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 2021-04-02
    • 2012-05-04
    • 1970-01-01
    相关资源
    最近更新 更多