我们想添加一些命令行参数来运行模拟。但是我还没有找到一种方法。该文档提供了预定参数:
../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 ++提供了命令行模拟,则应该有一种方法。
答案 0 :(得分: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);