首页 > 解决方案 > 如何在 OMNET++ 中指定结合命令行参数的输出文件名?

问题描述

通常,OMNeT++ 输出文件名是workloadType-#r.sca, 或workloadType-#r.vec. 我们希望使用不同的命令行参数运行不同的模拟,以找到最好的模拟参数。因此,我们希望输出文件名与命令行参数更容易区分。

例如:
如果我有-arg1 8 -arg2 12,我们希望有workloadType-#r-8-12.sca。所以,我们知道哪个文件来自哪个模拟。当然,我们可以一次运行每个来手动标记它们。但这是太多的工作。如果我们可以在 OMNeT++ 中指定输出文件名,我们可以自动化该过程并同时运行许多模拟。提前致谢。

标签: c++omnet++

解决方案


您可以使用output-scalar-fileoutput-vector-file配置选项(从命令行,即--output-scalar-file或从 INI 文件)。默认情况${resultdir}/${configname}-${iterationvarsf}#${repetition}.sca下,如果你有不同的迭代变量值,它的值通常是这样的,你会得到不同的文件名。

有关详细信息,请参阅手册:https ://doc.omnetpp.org/omnetpp/manual/#sec:config-options:config-options

我不确定实际上是什么arg1,但我的感觉是你正在做一些应该做不同的事情。模拟结果应取决于配置名称和迭代变量值(以及初始种子),并且所有这些变量已经是文件名的一部分。

或者从不同的角度:如果您的模拟结果取决于命令行参数-r-c那么您可能做错了。


推荐阅读