【发布时间】:2021-07-06 15:34:39
【问题描述】:
在 C Linux 中,我可以将变量声明为静态到函数中,并且它只初始化一次,每次 CPU 再次看到该声明时,它将被跳过,或者全局声明
其中一个功能会有更好的性能吗?
void increase_x()
{
static int x =0;
x+=1;
}
static int x = 0 ;
void increase_x()
{
x+=1;
}
【问题讨论】:
-
在编译的 C 实现中,CPU 看不到声明。源代码被翻译成指令,进行翻译的编译器通过将静态声明构建到程序的数据中来处理它们,而不是提供它需要跳过的 CPU 指令。
标签: c linux performance gcc static