C语言 局部变量在循环中的性能

6jygbczu  于 2023-04-11  发布在  其他
关注(0)|答案(1)|浏览(93)

gcc或clang是否优化以下代码而不使用额外的局部变量声明

void loop (int* array) {
   for (int i = 0; i < 10; i++) { 
      printf ("%i", array[i])
   }
}

在堆栈上的for循环中增加一个局部变量,就能和这个函数一样有效吗?

void loop (int* array) {
  for (int i = 0; i < 10; i++) { 
     int helper_variable = array [i];
     printf ("%i", helper_variable)
  }
}

最好的祝愿,tt

2nc8po8w

2nc8po8w1#

如果你至少使用-O1编译,gcc和clang会优化它们。你可以在编译器资源管理器上检查这些问题:https://godbolt.org/z/Pjvzzos55

相关问题