我希望我的模拟在满足代码中的特定条件后立即停止。 “停止”是指它应该暂停模拟,就像我在模拟窗口中按“停止”按钮一样。因此从现在起,我可以以较低的速度继续进行仿真。
是否可以通过模块代码来实现?
答案 0 :(得分:2)
没有用于管理GUI运行状态的API。原因是,您也可以在Cmdenv中运行仿真而无需重新编译代码,并且暂停在Cmdenv中进行仿真是不可能的/毫无意义的。
但是您可以做个技巧,因为模拟是可重复的:
答案 1 :(得分:1)
alert()
方法非常便于实现@Rudi技巧。
在GUI(运行,快速和快速)中,alert()
暂停模拟,显示带有自己的文本的消息框,等待用户反应,然后以相同模式继续模拟。在Cmdenv
中,它会在控制台中显示文本,而不会暂停模拟。
下面是使用此方法打印当前事件编号的示例代码:
char text[128];
sprintf(text,"Event number: %lld", getSimulation()->getEventNumber());
getSimulation()->getActiveEnvir()->alert(text);
在学习了此事件之后,第一位应该采取@Rudi在上一个项目符号中提出的建议。