Job*_*Job 5 c++ gcc g++ internals
如果我将 GCC 生成的代码转储为虚拟析构函数(使用 -fdump-tree-original),我会得到如下内容:
;; Function virtual Foo::~Foo() (null)
;; enabled by -tree-original
{
<<cleanup_point <<< Unknown tree: expr_stmt
(void) (((struct Foo *) this)->_vptr.Foo = &_ZTV3Foo + 8) >>>
>>;
}
<D.20148>:;
if ((bool) (__in_chrg & 1))
{
<<cleanup_point <<< Unknown tree: expr_stmt
operator delete ((void *) this) >>>
>>;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:“ ”后面的代码位于哪里<D.20148>:;
?它位于析构函数之外,那么该代码何时执行?
归档时间: |
|
查看次数: |
2077 次 |
最近记录: |