要获取当前在systemc中运行的模块的名称,请执行以下操作:
使用sc_get_current_process_b来获得当前正在执行的进程(线程SC或方法)。然后使用get_parent获取其父级,它将成为模块。然后使用basename或name获得其名称:
const char* name = sc_core::sc_get_current_process_b()->get_parent()->basename();
Run Code Online (Sandbox Code Playgroud)
(为简洁起见,省略了错误处理)
不要对构造函数使用内置宏。使用以下命令,假设模块名称是“counter”:
counter(sc_module_name _name):sc_module(_name)
{
cout << "Creating object " << _name;
}
Run Code Online (Sandbox Code Playgroud)
_name包含后,您可以执行各种操作<string>。您可以使用string()、与+运算符连接等。
| 归档时间: |
|
| 查看次数: |
3766 次 |
| 最近记录: |