gpt4 book ai didi

c - C中的空语句执行时间

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:11 25 4
gpt4 key购买 nike

编译器如何解释 C 中的空语句?在执行时间方面。 (空“;”即没有任何表达)如果遇到空语句,它会在执行过程中通过删除它们来优化代码。

最佳答案

编译器只关心可观察到的行为。是否编译

int main() {
;;;;;;;;;;;;;;;;;;
return 0;
}

int main() {
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
return 0;
}

对生成的可执行文件没有任何影响。这两个示例的可观察行为是相同的。

如果您想说服自己,请查看编译器输出(这是一个很棒的工具:https://godbolt.org/z/bnbxiP)或尝试分析上述示例(但不要指望得到有意义的数字;)。

我的建议是不要将代码视为与 CPU 对话的方式。当您编写代码时,您并不是在为您的 CPU 表达指令。代码更像是编译器的配方,您的编译器比任何人都更了解如何指示 cpu。差异很小,但我认为它有帮助。

关于c - C中的空语句执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com