c# 调用c++ dll
http://zhidao.baidu.com/link?url=7TjyMzXoOnE7dH4wocxAoVPKFSsmMufalh7D4naW8LuPcbA4qjaBehkyEJBE6sC0tDwA8AJGoYsosnlYGeYjHa
我用C#(WPF)制作一个程序,使用到了c++编写的dll,c++代码如下:
extern "C" __declspec(dllexport) char* lala()
{
//char temp[10]; 已赋值
const char *a= temp1.planenumber;
return (char*)a;
}
C#代码如下:
[DllImport("duxie.dll", EntryPoint = "lala", CharSet = CharSet.None)]
public static extern string lala();
……
char[] ch = lala().ToCharArray();/////////////////////@@@@@
string AAAa = new string(ch);
TextBlock ticketPrice = new TextBlock();
ticketPrice.Text = AAAa;
但是每次运行到@@@@@那一句的时候,会有报错,提示为:
Unhandled exception at 0x76e92913 in 程序名.exe: 0xC0000374: 堆已损坏。
我是初学者,很多都不会,所以希望各位大虾能够尽量详细的给出解决办法,要有解决代码,谢谢啦!!!我很急的!!!
-----------------------------------------------------------------------------------------------------------------------------
奇怪了。不是回答你了吗?建议不要返回字符串指针。用参数形式
extern "C" __declspec(dllexport) void lala(char* para)
{
//char temp[10]; 已赋值
para= temp1.planenumber;
}
-----*********************************************************************---------------------
C#中使用c++的dll传递的string出现问题,我在传递的string中存储的值为“EA365”,代码如下:
[DllImport("duxie.dll", EntryPoint = "lala")]
public static extern string lala();
static void Main(string[] args)
{
string a =lala();//lala的值为“EA365”
Console.WriteLine("{0}",a);
Console.ReadKey();
}
结果输出的是: 傒?EA365
求答案…………谢谢啦
---------------------------------------------------------------------------
看看你C++的代码 ,可能C++里返回的是char*,让他返回WCHAR*
-----------------------------------------------------------------------------------------------
http://blog.sina.com.cn/s/blog_668aae780101iou9.html
(完整版)原因可能是堆被损坏,这也说明 中或它所加载的任何DLL 中有bug】的解决...
http://blog.163.com/yuyang_tech/blog/static/21605008320138272153979/
error: windows已在XX.exe中触发一个断点,其原因可能是堆被损坏,这也说明**.exe中或它所加载的任何DLL中有bug.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架