我们想添加一些命令行参数来运行模拟。但是我还没有找到一种方法。该文档提供了预定参数:
../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")
然后您可以在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);