如何在SystemC中声明析构函数?

How can I declare a destructor in SystemC?

本文关键字:声明 析构函数 SystemC      更新时间:2023-10-16

我正在SystemC中编写一个模块,其中在构造函数中我有一个变量初始化与new:

SC_CTOR(MY_MODULE)
{
    ...
    ...
    my_matrix = new unsigned char [a*b];
    ...
    ...
}

如何声明析构函数以在模拟结束时释放内存?

您需要使用c++语义。析构函数没有等价的SC_CTOR

SC_MODULE(MyModule)
{
    SC_CTOR(MyModule)
    {
        my_matrix = new unsigned char [10];
    }
    ~MyModule() {
        delete my_matrix;
    }
private:
    unsigned char * my_matrix;
};