为什么不能在C中为变量设置寄存器和静态修饰符?

时间:2017-10-04 12:19:47

标签: c gcc local-variables storage-class-specifier

这似乎是一个常见的用例。也许我们想在函数中声明一个变量,并且我们想让它变为静态,以便变量在多个函数调用时保持其值。

我们还想告诉编译器尝试将变量存储在CPU寄存器中以便更快地访问。

然而,这在C中是不可能的。

int foo()
{
   static register int a;
   a++:

}

此代码出现以下错误。

 multiple storage classes in declaration specifiers

为什么在声明变量时不可能有多个存储类说明符?

0 个答案:

没有答案