我正在从 C++ 迁移到 SystemC,遇到了以下基本问题。(我在谷歌搜索过,但只有一个 .cpp 文件中的示例)。提前致谢。
我知道以下“hello.cpp”有效:
//hello.cpp
#include "systemc.h"
SC_MODULE (hello_world) {
SC_CTOR (hello_world) {
}
void say_hello() {
cout << "Hello World.\n";
}
};
int sc_main(int argc, char* argv[]) {
hello_world hello("HELLO");
hello.say_hello();
return(0);
}
问题1:如何将它分成hello.h和hello.cpp?以下代码是 C++,我不知道如何创建等效的 SystemC 代码。
//hello.h
class hello_world
{
public:
hello_world();
void say_hello();
};
//hello.cpp
hello_world::hello_world()
{
}
hello_world::say_hello()
{
cout << "Hello World.\n";
}
问题 2:如何在 SystemC 中创建嵌套类?例如,根据以下 C++ 的等效 SystemC 代码是什么?
class foo
{
public:
int fooAttr1;
class bar
{
public:
int barAttr1;
};
};
问题 3:指定属性/操作范围的最佳位置在哪里?(公共/受保护/私人)。