2013-10-30 19 views

回答

0

不是。函数原型只是一个函数如何使用的陈述;它不能自行执行。

如果你有一个函数的名字,并且你想把它变成函数指针,你可以使用dlsym(RTLD_DEFAULT, "fn")这样做。不过不推荐。

0

您可以使用系统调用(使用标准库的system函数)来调用编译器,该编译器从函数文件创建动态库。然后,您可以使用dlopenLoadLibrary加载库,具体取决于平台。

编辑: 当然这不会工作,如果你真的只有一个原型,而不是定义。在那种情况下,我很抱歉我误解了你的问题。

2

您正确地寻找libffi,从Wikipedia

libffi是一个外部函数接口库。它提供了一个C 编程语言接口,用于在运行时调用本机编译函数 给定有关目标函数的信息,而不是编译时的 。它还实现了相反的功能:libffi 可以产生一个指向一个函数的指针,该函数可以接受和解码在运行时定义的任何参数组合。

+0

我在哪里可以找到有关libffi的详细信息? –

+0

我可以得到任何使用libffi的示例代码? –

+0

@ user2599593请点击这里[http://www.atmark-techno.com/~yashi/libffi.html](http://www.atmark-techno.com/~yashi/libffi.html) – 2013-10-30 04:36:38

相关问题