【发布时间】:2010-07-08 11:22:17
【问题描述】:
在标题为“调用从 c# 中返回字符串的 c++ 方法”的帖子中
据说,要使以下 Pinvoke 工作,将 C++ 签名更改为 as
extern "C" REGISTRATION_API void calculate(LPSTR msg)
C++ 代码
extern "C" REGISTRATION_API void calculate(char* msg)
C#代码
[DllImport("thecpp.dll", CharSet=CharSet.Ansi)]
static extern void calculate(StringBuilder sMsg);
作为一个类的 stringBuilder 如何将 long ptr 转换为字符串。(但这是公认的答案)
我们是否应该像下面那样使用使用 IntPtr ?
extern "C" REGISTRATION_API void calculate(Intptr msg)
【问题讨论】:
标签: c# string marshalling