我有一个.lib
严重依赖模板的 C++ 库 ()。我正在为这个库创建一个 C++ 包装器,以便在.dll
. 这些公开的函数将依次被 Java 和 C# 库分别通过 JNA/JNI 和 PInvoke 使用。
我从这个 SO question中了解到,无法导出模板。
是否有人对包装 C++ 模板的最佳方式有很好的指导,以便保留尽可能多的灵活性,但可以导出?
例如,典型的 C++ 函数如下所示:
template <class A, class B>
inline
A
do_something(A first, A last,
B result )
{
/* implementation */
}