2015-08-28 57 views
0

熱烈祝賀大家!調用進程的符號查找?

因此Linux有的dlopen/對dlsym/dlclose/...的功能,但我想知道是否有我的計劃,以得到一個處理它自己的運行過程中的一些符號的方式。

基本上和dlsym一樣,但是在調用過程中搜索符號。 有這樣的事嗎?這甚至有可能嗎?獎勵要點:Windows有這樣的事情嗎?

編輯 - 進一步澄清:想象一下,我有一個全局變量foo的,大概住在我的程序的BSS和數據段。在編譯時,整個程序完全不知道是否存在foo。在運行時,我想查詢某個地方是否有可能是全局符號「foo」,如果是,請在內存中獲取它的位置。

我需要能夠建立一個符號表,很像連接器在構建共享庫時所做的。我想這是最大的問題。

我有什麼選擇,如果我甚至有選擇?

乾杯!

+0

'&符號'是您自己的過程符號的句柄。對於函數,可以忽略'&',因爲用作表達式的函數符號無論如何都被轉換爲指針。也許你想重新回答你的問題。 –

+0

謝謝你的回覆,Lars!我知道_&_符號評估實體的地址。問題是我想要解決的實體在編譯時不知道 - 它的名字在運行時得到解決。你是對的,我應該澄清我的問題! – Lisoph

回答