Ric*_*III 1 c language-features
我遇到了一些用C编写的代码,看起来像这样:
if (file == NULL)
TRUE; /* <-- What does that mean? */
Run Code Online (Sandbox Code Playgroud)
我认为这是另一种说法:
if (file == NULL);
Run Code Online (Sandbox Code Playgroud)
但我错过了什么,有没有理由这样做的第一种方式而不是第二种方式?
更新:
做一些挖掘,TRUE定义如下:
#define TRUE !0
Run Code Online (Sandbox Code Playgroud)
只是一个猜测 - 我怀疑在历史的某个时刻有人想在该TRUE线上设置一个断点.
我使用过调试器,这样做可能比尝试设置条件断点更容易.但是,这可能是很长很长一段时间.我仍然发现自己在某些环境中做了类似的事情,如果我想要破解的条件涉及函数调用或条件断点减慢太多(在嵌入式目标上发生了很多事情,其中评估调试器中的条件涉及很多通过JTAG链接进行通信).
但是,无操作代码不应该使其成为版本控制.