char* __stdcall setTheta(float x,float y,float x1,float y1){
char* result;
strcpy ( result,"1") ;
return result;
}
[DllImport("Project2.dll", EntryPoint = "setTheta", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern string setTheta(float x, float y, float x1, float y1);
这么简单的语句。。。错在哪了?求指教
c#调用c++dll 尝试写入内存失败
答案:2 悬赏:40 手机版
解决时间 2021-03-07 05:17
- 提问者网友:星軌
- 2021-03-06 09:23
最佳答案
- 五星知识达人网友:长青诗
- 2021-03-06 10:39
你定义了一个result指针,但是你没有个这个指针分配内存,赋值的时候,可能访问到了重要内存,所以导致错误
全部回答
- 1楼网友:蕴藏春秋
- 2021-03-06 11:50
不用管它 c#对比c++的优势之一就是它的内存释放机制上 除非你手动分配了内存否则不需要释放
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯