您的位置:首页 > 编程语言 > C语言/C++

[转]C#调用C++写的Dll时的运行时错误解决

2012-09-03 15:20 369 查看

【转】/article/4954346.html
C#调用C++写的Dll时的运行时错误解决

两个错误:

1. Run-Time Check Failure #0 - The value of ESP was not properly saved across a
function call. This is usually a result of calling a function declared with one
calling convention with a function pointer declared with a different calling convention


先把dll的项目属性中C/C++->Code Generation->Basic Runtime Checks的属性改为Default

2. System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

查看一下你的dll中的函数,如果函数返回是采用某个局部变量,需要把这些返回的局部变量都声明为static

问题解决!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐