OMNet++ 中的 NED 语言学习(2)
January 25th, 2010
1 comment
本节介绍简单模块。
简单模块是在模型中活动的组件,它用关键字 simple 来定义。
simple Queue
{
parameters:
int capacity;
@display("i=block/queue");
gates:
input in;
output out;
}
Parameters和gates部分都是可选的,即是说如果没有parameter或gate的话就可以不写。而且parameters关键字本身也是可选的,就算参数和属性存在也可以忽略它。
NED定义不包含模块的任何操作,操作是用C++来定义的,默认情况下OMNet将查找与NED类型同名的C++类(在这里是Queue)。
可以用@class 属性直接指定C++类,类也可以包括命名空间,如下例使用了mylib::Queue
simple Queue
{
parameters:
int capacity;
@class(mylib::Queue);
@display("i=block/queue");
gates:
input in;
output out;
}
如果几个模块都在相同的命名空间里,那最好用@namespace代替@class属性,例如下面的例子会自动添加命名空间mylib作为前缀:
@namespace(mylib);
simple App {
...
}
simple Router {
...
}
simple Queue {
...
}
评论