【发布时间】:2017-06-02 14:50:34
【问题描述】:
两者之间有没有性能差异
if (flag) {...}
或
if (flag!=0) {...}
考虑编译器执行时间或所需资源。
【问题讨论】:
-
类型,类型...
-
澄清一下,您问的不是编译器生成的结果代码,而是编译过程本身?
-
更多文本意味着编译器必须解析更多文本。那里可能有几纳秒的差异。
-
@Some 程序员老兄 YES
-
那么是有区别的,但是您需要一个极高分辨率的时钟才能注意到区别。或者在单个源文件中拥有数百万甚至 数百万 条这样的语句。甚至可能没有(可测量的)差异,因为编译器必须为两个不同的表达式做不同的事情,而这些差异可能会相互抵消。
标签: c if-statement optimization boolean embedded