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

Mar*_*rco 3 c++ destructor systemc

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

SC_CTOR(MY_MODULE)
{
    ...
    ...
    my_matrix = new unsigned char [a*b];
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

Gui*_*ume 5

您需要使用C ++语义。SC_CTOR析构函数没有等效项。

SC_MODULE(MyModule)
{
    SC_CTOR(MyModule)
    {
        my_matrix = new unsigned char [10];
    }

    ~MyModule() {
        delete my_matrix;
    }

private:
    unsigned char * my_matrix;
};
Run Code Online (Sandbox Code Playgroud)