3

我有一个使用 chandle 和 DPI 封装 C++ 类的 SystemVerilog 类。我想确保在销毁 SystemVerilog 对象时调用 C++ 类的析构函数。据我所知,这不是自动完成的,当我认为不再需要该实例时,我必须通过 DPI 手动调用 C++ 析构函数。不是很优雅。

有没有办法指定应该在 GC 上为 SV 类运行某些代码?类似于 Java 的 finalize 方法。

4

1 回答 1

3

finalizeSystemVerilog中没有类似的构造。但是,您可以在句柄上注册一个 VPI 回调 (cbReclaimObj)。请参阅 1800-2017 LRM 的第 38.36.1 节。

于 2019-05-16T07:46:41.157 回答