C#向C++编写的DLL传递字符串参数的办法

使用StringBuilder,举例:

C++代码中函数定义如下:

PVPOWERFORCASTDLL_API int PVPowerForcast(SForcastInfo &_ForcastInfo,char* DatePtr,char* Dir)

C#代码中这样使用:

[DllImport("PVPowerForcastDll.dll", EntryPoint = "PVPowerForcast", CallingConvention = CallingConvention.Cdecl)]
private static extern int PVPowerForcast(ref SForcastInfo ForcastInfo, StringBuilder date,StringBuilder dir);

另外,如果C++中SForcastInfo 定义为struct,在C#中也要使用struct对应定义,使用class时会出现问题

上一篇:ROR 环境的 搭建


下一篇:Qt中如何写一个model(自定义一个RowNode,我没有碰到过)