Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 推动C++;函数将值返回到NS2中的OTcl_C++_Tcl_Ns2 - Fatal编程技术网

C++ 推动C++;函数将值返回到NS2中的OTcl

C++ 推动C++;函数将值返回到NS2中的OTcl,c++,tcl,ns2,C++,Tcl,Ns2,使用NS2,我尝试在给定时间提取节点能量,并使用该值执行其他计算。通过互联网,这是一件很平常的事情。我发现执行这个任务的方法是在路由协议.cc和.h文件中创建C++函数。使用DumbAgent路由协议,我向dumb-agent.cc添加了以下代码: //将能量变量添加到构造函数 DumbAgent::DumbAgent():代理(PT\u PING){ 能量=0.0; } ... //创建函数以检索能量 双代理::获取能量(nsaddr\U t addr) { Node*thisnode=Nod

使用NS2,我尝试在给定时间提取节点能量,并使用该值执行其他计算。通过互联网,这是一件很平常的事情。我发现执行这个任务的方法是在路由协议.cc和.h文件中创建C++函数。使用DumbAgent路由协议,我向dumb-agent.cc添加了以下代码:

//将能量变量添加到构造函数
DumbAgent::DumbAgent():代理(PT\u PING){
能量=0.0;
}
...
//创建函数以检索能量
双代理::获取能量(nsaddr\U t addr)
{
Node*thisnode=Node::按地址获取节点(addr);
双能量;
能量=此节点->能量\模型()->能量();
返回能量;
}
在.h头文件中:

类代理:公共代理{
公众:
DumbAgent();
虚拟int命令(int argc,const char*const*argv);
虚拟void recv(数据包*p,处理程序*h=0);
无效跟踪(字符*fmt,…);
//由Sam添加
虚拟双获取能量(nsaddr\U t addr);
受保护的:
Trace*tracetarget;
端口分类器*dmux;
//由Sam添加
双能量;
节点*此节点;
};
使用
make
可以成功编译所有内容。但是,如何从OTcl脚本访问此值?我预计会出现以下情况:

$ns at 5.0 get_energy($node(1))
我是否需要在Tcl脚本中的节点上执行某种附加/连接操作?如何从OTCL?

获取C++函数值?
谢谢

我希望
$ns在5.0$node(1)获得能量???
其中
是某种东西(不知道是什么!),成为
addr
参数…提示:1。。。。2.