[英]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.