我需要存储所有调试符号(为简单起见,只有函数名+地址)。我没有函数大小。喜欢:
_printf 0x1234
_fprintf 0x1255
_scanf 0x1300
我需要一个非常快速的算法来通过地址确定函数名称,例如:
0x1258 - _fprintf+0x3
简单的 STL 映射远没有用处。什么样的数据结构适合这里?
我需要存储所有调试符号(为简单起见,只有函数名+地址)。我没有函数大小。喜欢:
_printf 0x1234
_fprintf 0x1255
_scanf 0x1300
我需要一个非常快速的算法来通过地址确定函数名称,例如:
0x1258 - _fprintf+0x3
简单的 STL 映射远没有用处。什么样的数据结构适合这里?
您需要将单词大小的键映射到字符串表吗?一个 endian patricia trie应该既节省时间又节省空间。每个分支的 int 标记中的一位。在某些社区中也称为Int Maps 。
我认为它更简单:只需使用 STL map::lower_bound()。