Estructura de datos para almacenar símbolos de depuración

Necesito almacenar todos los símbolos de depuración (para simplificar, solo nombres de funciones + direcciones). No tengo tamaños de función. Me gusta:

_printf 0x1234

_fprintf 0x1255

_escaneo 0x1300

Necesito un algoritmo muy rápido para determinar el nombre de la función por dirección, por ejemplo:

0x1258 - _fprintf+0x3

El mapa STL simple está lejos de ser útil. ¿Qué estructura de datos cabrá aquí?

preguntado el 22 de mayo de 12 a las 17:05

¿Probablemente necesito un árbol de segmentos? -

2 Respuestas

¿Necesita asignar claves del tamaño de una palabra a una tabla de cadenas? un endiano patricia trie debe ser eficiente tanto en tiempo como en espacio. Un bit en la etiqueta int por rama. También conocido como Mapas internacionales en algunas comunidades.

contestado el 22 de mayo de 12 a las 17:05

Oh no, la diferencia entre los valores no son las longitudes de las cadenas, sino las longitudes de las funciones en bytes. - usuario313885

Es más simple de lo que pensé: simplemente use STL map::lower_bound().

contestado el 22 de mayo de 12 a las 19:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.