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

问题描述 投票:0回答:1

我们想添加一些命令行参数来运行模拟。但是我还没有找到一种方法。该文档提供了预定参数:

../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 ++提供了命令行模拟,则应该有一种方法。

c++ omnet++
1个回答
1
投票

[看看在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")

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

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

这将允许您从INI文件或在命令行中使用--option-name=value指定配置值(请注意,应在其前面加上双连字符)。

从您的模型中,您可以使用:

getEnvir()->getConfig()->getAsString(CFGID_OPTION_NAME);
© www.soinside.com 2019 - 2024. All rights reserved.