我正在用C++设计一个指令集模拟器,它由CPU,内存和指令集本身组成.我目前正在尝试设计我的内存类,它将包含uint32_t数据类型.
基本上,内存类必须执行以下操作:
我想到的是,我需要一个搜索算法来查找我感兴趣的地址.
我已经实现了最简单的可用版本,它将是一个线性内存搜索,其中所讨论的内存块只是一个简单的结构,*block其值和地址存储在一个vector<block*>.但是,正如您可能猜到的那样,对于大型案例来说这是非常昂贵的.
总而言之,我想实现一个可以轻松找到内存的情况(我正在考虑二进制搜索,但我愿意接受更多建议),而且我也希望有关安排内存块的建议*block.我目前正在使用矢量,因为我不知道我需要的内存大小.