小编sub*_*e85的帖子

而(A == B); vs while(a == b){;}

以下代码之间是否有区别:

  1. while (a==b);
  2. while (a==b) {;}

它会对编译器或执行时间产生影响吗?

这个问题的背景:目前FW使用代码1,其中a或b实际上是一个全局变量,FW在特定核心中挂起/等待,直到另一个核心使条件成立为止.我们想在SystemC中模拟这个代码,这个"无限"while循环不在SystemC上下文中,因此SystemC调度程序不会知道这个线程正在等待另一个,导致死锁.

因此,我们希望用以下代码替换代码: while (a==b) {CONTEXT_SWITCH(1);}

我们在哪里进行目标构建:

#define CONTEXT_SWITCH(x)
Run Code Online (Sandbox Code Playgroud)

对于systemC构建,我们有:

#define CONTEXT_SWITCH(x)   wait(x) //where wait is a systemC wait
Run Code Online (Sandbox Code Playgroud)

在目标构建的情况下,此代码变为代码2.想知道这是否会以某种方式影响性能?

c c++ systemc

3
推荐指数
1
解决办法
752
查看次数

标签 统计

c ×1

c++ ×1

systemc ×1