3.3.3. restrict

restrict 关键字是 C99 功能,用于确保不同的对象指针类型和函数参数数组不会指向重叠的内存区域。 因此,编译器可以执行优化,而不会由于可能的混淆而将优化禁止。

限制

要在 C90 或 C++ 中启用 restrict 关键字,必须指定 --restrict 选项。

支持将 __restrict__restrict__ 关键字作为 restrict 的同义词,无论是否指定了 --restrict,始终可以使用这些关键字。

示例


void copy_array(int n, int *restrict a, int *restrict b)

{

    while (n-- > 0)

        *a++ = *b++;

}

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential