簡體   English   中英

C / C ++:在沒有函數名稱的情況下獲取指向函數的指針

[英]C/C++: getting pointer to function without function name

問題如上。 例如,我有一個自定義的DLL / binary / executable文件,並且我想獲取一個指針數組,指向該文件中存儲的所有函數。

我考慮過(1)虛擬/純虛函數和(2)將函數放置在特定地址下,但是我不確定第一個(我想使用malloc和原始數據加載),因此我無法提出第二個解決方案易於使用的潛在修改者。

如何在C / C ++中做到這一點,這有可能嗎?

提前致謝!

好吧,您無法在文件中獲得“所有”功能,因為通常這有點不確定。 此外,您將如何處理__new_behind_the_scenes(__some_type_you_dont_understand&)

您當然可以自由導出void(*ptrs[23])(void*) ,並且填充該數組不會太困難。 什么難是做一些有用的事情有這樣的API。 對於改裝者來說,這將是地獄。 他們是否需要記住調用ptrs[16](&Widget)來默認初始化小部件,然后調用ptrs[16](&Widget) ptrs[17](&Widget)再次銷毀它嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM