如何解决在静脉示例中,我如何知道stage的值何时或为什么从0变为1?
当我在静脉5.0中运行示例时,我知道可以通过numInitStages()
函数定义多阶段。但是我不知道BaseModule.cc
文件中的阶段值何时或为什么从0变为1。
void BaseModule::initialize(int stage)
解决方法
模拟环境负责在初始化期间调用后续阶段。
例如,假设为一个模块定义了一个
int numInitStages() const { return 3; }
模拟开始时,模拟环境将调用:
initialize(0);
initialize(1);
initialize(2);
重要的是:模拟环境为每个模块调用initialize(0)
,然后为 every 模块的{{1} }返回2或更多,然后为每个模块的initialize(1)
返回3或更多的调用numInitStages()
。
因此,我们确保在调用后initialize(2)
被称为
{em> all 模块中的numInitStages()
。因此,例如,我们可能决定在stage = 1中分配一个地址,并在stage = 2中打开使用该地址的套接字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。