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.  

posted @   ccqin  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示