关于 c#调用c++ 出现异常System.StackOverflowException 的问题
2015-08-17 00:00
316 查看
摘要: 首先我介绍下环境吧,c#端是一个web应用,过IIS的,调用的动态库中有Clucene,中科院的分词
这个问题很奇葩也很怪异,我在本机中使用Console和但网页的测试程序都是通过了的,但是经过同事测试下,一直抛出异常 StackOverflowException,这个异常的解释是调用的动态库中可能存在无限循环,或者是函数嵌套太多。
这个问题调试了一天,也困扰了我一天,dll本身的函数逻辑是没有问题的,最后在c#中开启了一个线程且合理的分配了堆的大小,函数通过了。这个问题也算是解决了一半吧,不知道哪位大神能来详细解释一番。
类似于下面的代码:
改之前
这个问题很奇葩也很怪异,我在本机中使用Console和但网页的测试程序都是通过了的,但是经过同事测试下,一直抛出异常 StackOverflowException,这个异常的解释是调用的动态库中可能存在无限循环,或者是函数嵌套太多。
这个问题调试了一天,也困扰了我一天,dll本身的函数逻辑是没有问题的,最后在c#中开启了一个线程且合理的分配了堆的大小,函数通过了。这个问题也算是解决了一半吧,不知道哪位大神能来详细解释一番。
类似于下面的代码:
改之前
var r = your_class_name.function_name(var1, var2,...);
改之后: Thread thread = new Thread(() => { var r = your_class_name.function_name(var1, var2,...); }, 合理的大小); thread.Start(); thread.Join();
相关文章推荐
- C,C++宏中#与##的讲解
- C语言基础学习——第2天(语句)
- Vanya and Books
- C++编译和链接过程的详解
- c++中几种0值的比较问题
- C++对象模型——new 和 delete 运算符(第六章)
- C/C++编译链接过程详解
- 归并排序的C++实现
- c语言中对字符串进行处理的函数
- C语言中二级指针的用处
- VS2010 C++编译报错LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 冈萨雷斯数字图像处理中科院&电子科大halcon/C++/Opencv视频教程下载
- 函数指针C++和回调函数
- [LeetCode] Gas Station
- C++标准库介绍
- 快速傅里叶算法 C语言实现
- C++命名空间
- c++primer之try语句块和异常处理
- C++ 语法
- C#调用C++ Dll