【发布时间】:2013-04-27 23:42:30
【问题描述】:
我想使用 clang 进行 c++ 开发(现在是 windows,但是,linux、android 等),到目前为止,在过去的 6 个月里,我能够编译相当复杂的代码而没有什么问题。但是几周前,我偶然发现了未处理异常的问题。我研究并阅读了我能找到的任何东西,但如果可以使用 mingw/g++/llvm/clang 的任何组合的异常,我仍然没有明确的答案。 到目前为止,最接近的线索似乎是 ruben 的构建,但由于另一个已知问题 - strerror_s,我无法让它们工作。
我尝试编写的最小代码非常简单:
int main()
{
try { throw 0; }
catch(...) { return 1; }
return 0;
}
任何帮助都将不胜感激,因为我已经停止工作并且正在努力解决异常情况。
谢谢, 欧林++
【问题讨论】:
-
我单步执行了 clang 代码,似乎所有需要的函数调用都已发出(__cxa_allocate_exception、__cxa_throw、__cxa_begin_catch、__cxa_end_catch),但在生成的程序集中,我在 throw 后看不到任何内容(catch 是失踪)