如何在C中写一个“虚拟”(不做任何)行

时间:2014-03-08 02:39:45

标签: objective-c c

是否有专门的方法在C中写入虚拟线? (有点像Python中的pass)如果你想知道我为什么不留空格,我需要一些可以附加Xcode断点的东西 - 如果什么都没有,断点会跳到下一行!!到目前为止,我一直在使用sleep(0)来实现此目的。我想知道是否有更好/更有效/更正式的方法来实现这一目标。

哦,我正在使用Objective-C,所以如果在Obj-C中添加了符合此目的的任何内容,请随意添加。

7 个答案:

答案 0 :(得分:13)

放一个半冒号。它适用于C和Obj-C(以及Java,Swift和许多其他语言)。

;

答案 1 :(得分:4)

sleep(0)也可以,null语句(单行上只有分号;)和语句i+1;

也可以。

编译器优化通常会导致没有为这些语句生成机器代码。

答案 2 :(得分:2)

添加一个简单的作业

var = var;

答案 3 :(得分:1)

只需将断点放在您不想执行的第一行上。断点在执行该行代码之前停止执行。


没有创建“假”行:

    someMethod();
    // empty line
BREAKPOINT
    someOtherMethod();

创建“假”行:

    someMethod();
BREAKPOINT
    ;
    someOtherMethod();

这两者都会产生完全相同的结果。断点停在同一个地方。

答案 4 :(得分:1)

已发布的大多数答案都可以满足您的需求,但如果您需要一个块,请尝试使用一对大括号:

{}

而且,如果你需要一个实际上什么都不做的实际语句,但是在编译后仍然存在,那么一些内联汇编就可以解决这个问题:

asm("nop");

从技术上讲,这不便携;但nop指令基本上存在any instruction set you care to name。还保证*不要编译出来!

答案 5 :(得分:0)

"是"怎么样? 这是我在关闭日志时使用的内容

#define Log(s,...) YES

答案 6 :(得分:-1)

只需将此值保持不变:

0xDEBAF;