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

How can I declare a destructor in SystemC?

我正在用 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;
};