【发布时间】:2009-09-15 18:48:10
【问题描述】:
我有一个提供自定义 _matherr 处理程序的非托管 c++ 应用程序。当此应用程序在非托管 DLL 中加载和运行代码时,如果出现数学错误(例如 asin(100.0)),则会调用自定义 _matherr 函数并且一切正常。
但是,我现在尝试在 C++/CLI 中创建一个 NUnit 测试 DLL,它加载相同的非托管 DLL 并运行与上述应用程序相同的代码。我想要做的是将 _matherr 函数添加到 C++/CLI dll 中,这样当发生数学错误时,我可以执行一些自定义处理程序逻辑。
使用定义的 _matherr 函数,C++/CLI dll 编译得很好,但是当我从非托管 dll 强制出现数学错误时,_matherr 函数不会被调用。
C++/CLI 不支持吗? MSDN 文档似乎说所有 C 运行时都支持 _matherr,(带有指向包括 /clr 运行时在内的运行时列表的链接。)
【问题讨论】:
标签: c++-cli