sách gpt4 ai đã đi

Ngoại lệ C++ không được phát hiện sau khi gọi hàm dll

In lại 作者:塔克拉玛干 更新时间:2023-11-03 07:58:32 29 4
mua khóa gpt4 Nike

我遇到了以下问题:有导出函数的DLL。

代码示例如下:[动态链接库]

__declspec(dllexport) int openDevice(int,void**)

[应用]

开发者.h:

__declspec(dllimport) int openDevice(int,void**)

开发者.cpp:

thử {
void *p = NULL;
int devError = openDevice(some_integer,&p);
if(devError)
throw (int)devError;
} catch(int i) {
cerr << "Device opening error: " << i << endl;
}
catch(...) {
//other handler
}

异常没有传递到 catch block ,我不知道为什么。请帮忙解决这个问题。我在 MSVC 9.0 中使用 Qt Creator。

1 Câu trả lời

首先,删除 throw 表达式中的 (int) 不安全转换。

然后,在if(devError) block 中添加一个cerr语句来证明它确实被执行了。

然后,编写一个测试程序来证明异常是有效的。只是一个抛出和捕获的 chủ yếu().

关于调用dll函数后未捕获C++异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799042/

29 4 0
Bài viết được đề xuất: c++ - 我如何使用 C++ AMP 并行化以下循环?
Bài viết được đề xuất: c++ - 简单的 GLUT 库问题
Bài viết được đề xuất: c++ - 将 Yuv420 转换为 rgb 并在 qt 像素图上显示
Bài viết được đề xuất: c++ - 我程序中的 cin 不能正常工作。我该如何解决?
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com