如何将C#string []编组(在理想情况下在SWIG中)到C ++字符串*?

时间:2010-09-29 21:23:24

标签: c# c++ marshalling swig

我是C#编程的新手,并尝试调用C ++中的wrap函数。

在C ++中,我有以下原型的功能

string* swap(string* ptr1, string*ptr2){
    //swap the array of string
    return ptr2;
}

如何将此函数包装到C#中(理想情况下使用SWIG,但不是必需的)?

1 个答案:

答案 0 :(得分:1)

我对Java有同样的问题。

对于Java,我没有找到任何预先打包和微不足道的东西。我必须定义自己的类型图。

如果您没有得到更好的C#答案,您可以从SWIG: How to wrap std::string& (std::string passed by reference)中描述的SWIG / C ++代码开始。

您需要替换对Java类型,JNI方法(包含对“jenv”的引用的方法)和“JavaThrowException”的引用。

来自SWIG的这些文件也可能为C#提供了一些相关的示例代码:

  • 痛饮/ LIB / CSHARP / std_string.i
  • 痛饮/ LIB / CSHARP / typemaps.i