gpt4 book ai didi

objective-c - Objective-C 是否逐行运行代码?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:40 24 4
gpt4 key购买 nike

我对 Objective-C 编程和一般编程真的很陌生,如果这是一个非常明显的问题,请原谅我:

我想知道 Objective-C 是否逐行运行代码。我的意思是,如果它在移动到另一行之前处理一行,或者无论上一行是否完成都只运行下一行。

例如,

int difference = number1 - number2;
if (difference < 0) {
difference = difference + 10;
}
result = difference;

假设 number1 = 3number2 = 7。当我运行这段代码时,它会逐行运行并在第 5 行之前运行 if block 并给我 result = 6,还是会同时开始运行 if block 和第 5 行并且给我 result = -4?

提前致谢!

编辑:由于 Obj-C 怪癖,将模数更改为加法。

最佳答案

就您的想法而言,您不妨假设它是逐行运行的。

事实上,编译器可能会将代码置于更有效的顺序中(即确保分区不会靠得太近,因为这可能会使事情变慢)。然而,即使编译器确实重新排序,它也会确保在需要之前计算出结果。当您以完全优化的方式( Release模式)构建代码时,如果您对其进行调试,您可以看到代码实际上已经重新排序(调试器在您不期望的时候跳转)。然而,就您的代码而言,可以安全地假设它按照您编写的顺序运行。

关于objective-c - Objective-C 是否逐行运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25456201/

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