相关疑难解决方法(0)

如何实现C++异常处理运行时?

我对C++异常处理机制的工作方式很感兴趣.具体来说,存储异常对象的位置以及它如何通过多个范围传播直到被捕获?它存储在一些全球范围内吗?

由于这可能是编译器特定的,有人可以在g ++编译器套件的上下文中解释这一点吗?

c++ error-handling language-implementation exception

79
推荐指数
4
解决办法
2万
查看次数

可以标记为Extern"C"的C++函数抛出吗?

我有C++函数我想要声明使用,extern "C"即使它们只在C++代码中调用.是的,我知道这很奇怪但是我想要保持一致性,因为我们混合了C和C++声明.我只是想确保声明一个C++函数extern "C"不会影响抛出的行为.

它看起来像这样:

extern "C" void foo() {throw exception;}

int bar()
{
    try
    {
        foo();
    } catch (exception e) { return 1; }
}
Run Code Online (Sandbox Code Playgroud)

c++ extern-c

25
推荐指数
2
解决办法
4683
查看次数