OMNET++的代码运行机制

Day01:OMNET++的代码运行机制

记录下omnet++的学习过程


问题描述

(1)在最开始学习OMNET时,有个疑问:就是代码的运行机制是怎样的?main函数在哪里?怎么个流程?

分析流程:

第1步
在tictoc1.ned文件中
——整了1个模块:Txc1
——整了1个拓扑:Tictoc1

第2步
在txc1.cc中对上述的Txc1模块进行声明和定义
类声明:
class Txc1 : public cSimpleModule
{
protected:
// The following redefined virtual function holds the algorithm.
virtual void initialize() override;
virtual void handleMessage(cMessage *msg) override;
};
模块声明;
Define_Module(Txc1);
定义函数:
void Txc1::initialize()//用于初始化所有节点
void Txc1::handleMessage(cMessage *msg)//节点接收到数据后将会执行这个函数
第3步
仿真即可。
那么疑问来了:节点的运行函数是从哪里开始的?哪里指明了要用 Txc1::initialize()进行初始化?哪里指明了接收到消息时要调用Txc1::handleMessage(cMessage *msg)?QT中有槽机制,Omnet++中如何保证类似的槽机制?main函数在哪里?

解决方案:

(1)c/c++工程必然有main函数,先找到main函数在哪里,明白程序入口

omnet++是一个离散时间仿真器,事件之间可以完全离散开。在OMNET++中,简单模块里面包含固定的四个函数:
void initialize()//创建模块,初始化模块
void handleMessage(cMessage *msg)//收到消息会自动调用
void activity()//不常用
void finish()//结束仿真会自动调用
所以OMNET++是吧main函数封装了,其实在信号仿真中,以上四个自动触发,确实够用了。
这是目前个人的看法,后续有新想法,再更新

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值