我有一个SystemVerilog类,该类使用控件和DPI封装了C ++类。我想确保在销毁SystemVerilog对象时调用C ++类的析构函数。据我所知,这不是自动完成的,当我认为我不再需要该实例时,必须通过DPI手动调用C ++析构函数。不是很优雅。
是否有一种方法可以指定应为GC的SV类运行某些代码?与Java finalize方法类似。
答案 0 :(得分:2)
SystemVerilog中没有类似于finalize
的构造。但是,可以在该句柄上注册VPI回调(cbReclaimObj)。请参阅1800-2017 LRM的38.36.1节。