if ((*l).proc == NULL)
{
(*l).proc = current_process;
if(current_process == NULL)
{
__no_operation();
}
if((*l).proc == NULL)
{
__no_operation();
}
}
运行此代码时,我在两个no-ops都添加了断点。但是,它只会在两者中的第二个中断。这怎么可能?
答案 0 :(得分:0)
任何理智的编译器都会将这两个相同的块优化为一个块。它可能还会将两个条件优化为一个。如果您想看到两个单独运行,请将puts("A");
添加到第一个,puts("B");
添加到第二个。