在OPNET中进行C编程

时间:2014-07-07 16:31:53

标签: c++ c packet indirection

我开始在OPNET中对节点进行手动编程,但是我遇到了一些麻烦。我从数据包中获取一些信息并将它们存储在变量中,并希望将其输出到模拟控制台。当我添加行puts(bcast_info)时,我收到以下错误。

C:/Users/Andrew/op_models/traffic_source.pr.c(74) : warning C4047:
'function' : 'const char *' differs in levels of indirection from
'Objid' C:/Users/Andrew/op_models/traffic_source.pr.c(74) : warning
C4024: 'puts' : different types for formal and actual parameter 1

在添加上述行之前,模拟工作完美,我得到了基本的文本输出。到目前为止,这是我的代码。

 static void route_pk(void)
    {
    Packet * pkptr;
    Objid bcast_info;
    FIN(route_pk());
    pkptr = op_pk_get(op_intrpt_strm ());
    bcast_info = op_pk_bcast_get (pkptr);
    printf ("Hello! \n");
    puts("Hello from puts");
    puts(bcast_info);
    op_pk_send (pkptr, 1);
    FOUT;
    }

我很欣赏OPNET是C语言的一种变体,它有一些自己的方法等,但对错误的实际意义和潜在修复的任何帮助都将非常感激。请注意,之前我从未使用过C / C ++或OPNET语言。

1 个答案:

答案 0 :(得分:0)

请不要使用print()功能。使用op_prg_odb_print_major()功能。

Objid是Modeler中的特殊数据类型。您无法将其打印到屏幕上。