C++ 写C++;使用函数指针绑定到C接口?
有一些有用的C库。我想用C++在这个库中写绑定。但C API使用了很多函数指针,可以在C++ API中有效地用<代码> STD::函数< /> >代替.< 由于C++ 写C++;使用函数指针绑定到C接口?,c++,c,c++11,binding,function-pointers,C++,C,C++11,Binding,Function Pointers,有一些有用的C库。我想用C++在这个库中写绑定。但C API使用了很多函数指针,可以在C++ API中有效地用 STD::函数< /> >代替.< 由于std::function不能转换为原始函数指针,我不知道该怎么做 我的选择: 强>使用C++ API 中的函数指针——这非常丑陋,怀疑C++绑定的全部要点。 重写原始C内部的一些部分——那么它就不是真正的绑定,因为我需要维护更多的代码,而不仅仅是API 还有其他选择吗?函数指针本身没有问题。另一方面,std::function是一个很重的
std::function
不能转换为原始函数指针,我不知道该怎么做
我的选择:
- 重写原始C内部的一些部分——那么它就不是真正的绑定,因为我需要维护更多的代码,而不仅仅是API
还有其他选择吗?函数指针本身没有问题。另一方面,
std::function
是一个很重的专用工具,您可能不应该随便使用它来处理任何事情。@KerrekSB我将无法使用lambdas和std::bind
-这不是一件好事。C++ API的一个原因是某种“舒适”。当然,为了提高效率,我可以使用函数指针来保留重载?如果不是,你就不走运了。@R.MartinhoFernandes有些函数有,有些没有。C API是否给你一个(void*)用户数据参数?