gpt4 book ai didi

c# - 从 PInvoke 返回一个字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:05 26 4
gpt4 key购买 nike

<分区>

我正在使用 PInvoke 实现 native 代码 (C++) 和托管代码 (C#) 之间的互操作性。我只是写了一个简单的函数,它从 C++ 代码中获取一个字符串。我的代码看起来像

C#代码:

[DllImport("MyDll.dll")]
private static extern string GetSomeText();
public static string GetAllValidProjects() {
string s = GetSomeText();
return s;
}

C++ 代码

char* GetSomeText() {
std::string stri= "Some Text Here";
char * pchr = (char *)stri.c_str();
return pchr;
}

在 C++ 端一切正常,即变量 pchr 包含“Some Text Here”,但在 C# 中字符串 s 包含注释。我不知道我做错了什么。任何帮助将不胜感激

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com