我在文件中有一个函数原型。有没有办法通过在c ++运行时读取文件来创建函数指针?
答案 0 :(得分:2)
libffi是一个外部函数接口库。它提供了一个C. 用于调用本机编译函数的编程语言接口 在运行时给出有关目标函数的信息而不是 编译时间。它还实现了相反的功能:libffi 可以生成一个指向可以接受和解码任何函数的函数的指针 运行时定义的参数组合。
答案 1 :(得分:0)
没有。函数原型只是一个函数如何使用的陈述;它不能单独执行。
如果您有一个函数的名称,并且想要将其转换为函数指针,则可以使用dlsym(RTLD_DEFAULT, "fn")
执行此操作。不过不推荐。
答案 2 :(得分:0)
您可以使用系统调用(使用标准库的system
函数)来调用从函数文件创建动态库的编译器。然后,您可以使用dlopen
或LoadLibrary
加载库,具体取决于平台。
修改强> 当然,如果你真的只有一个原型而不是定义,这将不起作用。在那种情况下,我很抱歉我误解了你的问题。