C#函数调用c ++中的公开函数,后者又调用类abc的some_fun(int),如何在C#some_fun enter code here
C ++:
class abc
{
public: abc some_fun(int x);
}
这个函数调用class abc的some_fun(int),
我应该如何在C#some_fun(编组对象)中获得abc的对象
extern "C" SAMPLEDLL_API void __cdecl some_fun(int x);
来自c#wrapper:如何编组
public static extern IntPtr some_fun(int abc);
答案 0 :(得分:0)
你必须从你的C#程序“Pinvoke”你的c ++函数 执行此操作时,您必须使用C#术语声明函数签名。 在该声明中,您将必须提供一个C#struct represnting您尝试传递的C ++结构。
例如,如果你有C ++结构:
struct FOO
{
public long Dummy;
};
在C#程序中,您必须定义一个C#struct
public struct CSFOO
{
public int Dummy;
}
您将传递给PINVOKEd函数。
此链接可以帮助您:
http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx