python 调用 tcl函数_怎样在C++代码里面调用tcl函数

转自SEASON的博客:

例如要在Agent/MFlood

C++类中调用tcl的Agent/MFlood类中的方法,具体如下:

1.在你的TCL脚本中定义下列过程

Agent/MFlood instproc putargs {} {

puts "

^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

}

2.然后在c++类中如下方式调用

char out[100];

sprintf(out, "%s putargs", name());

Tcl& tcl =

Tcl::instance();

tcl.(out);//调用函数。

3.应用举例

例如在C++代码中需要调用CBR数据流,调用的场景如果网络中的node0节点向node1节点发送了一个资源请求信息,则节点node1向节点node0发送一个持续30庙的cbr数据流,只需要在node0的代理里面调用下列过程即可,

下面函数的含义是:在starttm时刻本节点(node0)向节点node($args)发送了一个持续时间为30秒的CBR数据流

Agent/MFlood instproc putargs {args starttm} {

global ns_

tracefd

$self instvar node_

puts "CBR

START^_^1 at $starttm node[$node_ id] send a cbr to

node$args"

set udp_(0)

[new Agent/UDP]

$ns_

attach-agent $node_ $udp_(0)

set

null_(0) [new Agent/Null]

# $ns_

attach-agent $node_($args) $null_(0)

$ns_

connect $udp_(0) $null_(0)

set cbr_(0)

[new Application/Traffic/CBR]

$cbr_(0)

set packetSize_ 512

$cbr_(0)

set interval_ 4.0

$cbr_(0)

set random_ 1

$cbr_(0)

set maxpkts_ 10000

$cbr_(0)

attach-agent $udp_(0)

$ns_ at

$starttm "$cbr_(0) start"

$ns_ at

[expr $starttm+30.0 ] "$cbr_(0) stop"

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值