在C库中链接后,C ++中的异常捕获不再起作用

时间:2017-09-16 22:10:06

标签: c++ exception

我有一个相当大的C ++项目(一个名为QSoas的数据分析程序),它链接了几个库:

  • Qt(动态链接
  • Ruby(动态链接)
  • GNU科学图书馆(静态链接)

虽然整个编译过程在Linux(我的主要开发环境)中是轻松的,但我花了一些时间在windows下构建内容(使用基于mingw的工具)。

现在,我在一个新的静态库mruby中进行链接,以便转换为mruby作为嵌入式解释器而不是Ruby,突然异常不再起作用了:而不是捕获异常,我只是在终端上收到以下消息:

abnormal program termination

在Linux下链接的相同程序运行良好。

我可能忽略了一些基本的警告吗?

1 个答案:

答案 0 :(得分:0)

检查C DLL是否正在注册一个向量异常处理程序,它可以捕获异常并防止堆栈展开。