2012-05-22 48 views
0

我需要存儲所有調試符號(爲了簡單起見,只有函數名稱+地址)。 我沒有功能大小。 像:用於存儲調試符號的數據結構

_printf×1234

_fprintf 0x1255

_scanf長度爲0x1300

我需要通過地址判定函數名一個非常快的算法,例如:

0x1258 - _fprintf + 0x3

簡單的STL映射遠沒有用。什麼樣的數據結構適合這裏?

+0

我可能需要分段樹? –

回答

0

您需要將字大小的鍵映射到字符串表嗎?末尾patricia trie應該既節省時間又節省空間。每個分支的int標記中有一位。在一些社區中也稱爲Int Maps

+0

哦不,值之間的差異不是字符串長度,而是函數長度(以字節爲單位)。 –

0

簡單一點,我想:只要使用STL map :: lower_bound()。