c++ - C/C++ : getting pointer to function without function name

标签 c++ c function pointers

问题如上。例如,我有一个自定义的 DLL/二进制/可执行文件,我想获取一个指针数组,指向该文件中存储的所有函数。

我考虑过 (1) 虚拟/纯虚拟函数和 (2) 将函数放置在特定地址下,但我不确定第一个(我想使用 malloc 和原始数据加载),并且我无法使第二个解决方案易于潜在的修改者使用。

如何在 C/C++ 中执行此操作,这可能吗?

提前致谢!

最佳答案

嗯,您无法获取文件中的“所有”函数,因为这通常定义不明确。除此之外,你会用__new_behind_the_scenes(__some_type_you_dont_understand&)做什么?

您当然可以自由导出void(*ptrs[23])(void*),并且填充该数组不会太困难。困难的是使用这样的 API 做一些有用的事情。对于 retrofit 者来说这将是 hell 。他们是否需要记住调用 ptrs[16](&Widget) 默认初始化小部件并调用 ptrs[17](&Widget) 再次销毁它?

关于c++ - C/C++ : getting pointer to function without function name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512102/

相关文章:

返回给定数字所有可能组合的 C++ 算法

有人可以向我解释一下代码的工作原理吗?这段代码应该打印一个数字的反转

javascript - 多个 JavaScript 函数无法正常工作

PHP 读取带有以下标签的文本文件

c++ - 在 C++ 中通过 char * 对 char 进行操作时 "&&"是什么意思?

c++ - 用于确定 C++ 代码使用的 Win32 API 版本的工具?

c++ - 内联函数

free() 上损坏的双链表

客户端不会多次发送数据

c - 如何将循环的值连接到变量中以在 C 中返回