如何使用字符串参数从 C# WPF 应用程序调用 c++ dll 中的函数?我通过“添加引用”而不是“[DLLImport]”将 dll 添加到 C# 应用程序
所有的问题是 C# 建议使用 'sbyte*' 参数的函数,而不是 'char*'。带有 'int' 参数的函数可以完美运行。
这是代码:
我在 c++ dll 中的函数:
public ref class OpenGLHwnd : public HwndHost
{
public:
void myFunc(char* name)
{
// some code
}
C#代码:
HwndHost host = new WPFOpenGLLib.OpenGLHwnd();
HWNDPlaceholder.Child = host;
(HWNDPlaceholder.Child as WPFOpenGLLib.OpenGLHwnd).myFunc("aaaa");
myFunc 想要 'sbyte*' 参数,而不是 'char*'。为什么?
或者请告诉如何将字符串转换为 sbyte*