如何在OMNET++中添加专门的命令行参数?

How to add specialized command-line arguments in OMNET++?

本文关键字:命令行 参数 添加 OMNET++      更新时间:2023-10-16

我们想添加一些命令行参数来运行模拟。但我还没有找到这样做的方法。文档提供了预先确定的参数:

../simulation -u Cmdenv -c config_type -r number 

这些标志(-u -c -r(是预定义的(还有其他一些标志(。我们想添加一些参数来运行不同的模拟,如下所示:

../simulation -u Cmdenv -c config_type -r number -x1 x1_vale -x2_value 

然后,我们希望我们的 .cc 文件可以与这些自定义的命令行参数交互以执行某些任务。

一般来说,C++,会有:

int main(int argc, char** argv) 

我想知道在哪里处理命令行参数或如何在 OMNET++ 中访问它。我的意思是,如果OMNET++提供命令行模拟,应该有一种方法可以做到这一点。

看看配置选项是如何在OMNeT++中定义的,例如在cmdenv.cc文件中:https://github.com/omnetpp/omnetpp/blob/master/src/cmdenv/cmdenv.cc#L63

总之

Register_GlobalConfigOption(CFGID_OPTION_NAME, "option-name", CFG_STRING, nullptr, "Help description")

然后,您可以在getEnvir()->getConfig()返回的cConfiguration对象中访问它

请参阅: https://doc.omnetpp.org/omnetpp/manual/#sec:plugin-exts:configoption:reading-values

这将允许您从 INI 文件或带有--option-name=value的命令行指定配置值(请注意,您应该在它前面加上双连字符(。

从您的模型中,您可以通过以下方式访问它:

getEnvir()->getConfig()->getAsString(CFGID_OPTION_NAME);