【发布时间】:2015-09-18 15:48:16
【问题描述】:
我有一个 Windows dll,它会抛出 std::system_errors,类别为 std::system_category()。
如果它们被 dll 捕获,没问题我可以将它们与 std::error_condition' 进行比较。但是,如果我在链接到 dll 的 exe 中捕获,则比较总是失败,因为该上下文中的 std::system_category() 不 == 捕获的异常中的那个。
我很难理解这是否应该工作并且存在错误,或者是否不应该支持?
dll 和 exe 都链接到 CRT 的相同 dll 版本。
另外,如果 dll 和 exe 链接到 CRT 的静态版本,我想这不会起作用?
我读过this description of std::system_category,(强调我的):
获取对静态错误类别对象的错误引用 由操作系统报告。
【问题讨论】:
标签: c++ c++11 visual-studio-2013 dll stl