restrict 关键字
2012-12-04 22:53
218 查看
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如 int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何同样指向这个内存单元的其他指针都是未定义的,直白点就是无效指针。restrict 的出现是因为 C 语言本身固有的缺陷,C 程序员应当主动地规避这个缺陷,而编译器也会很配合地优化你的代码. 实际上目前大家用的C89标准的比较多,现在的大部分的教材都是c89的语法,C99还加入了很多新的内容,现在很多编译器并不全都支持C99的语法,所以这个关键字用的不多,也许以后大家会用吧
相关文章推荐
- restrict关键字
- restrict关键字
- C/C++ 中的特殊关键字:volatile, register, restrict, __attribute__
- 关键字Restrict
- C 语言restrict 关键字的使用浅谈
- C99中的restrict关键字
- C语言中restrict关键字学习
- 关于volatile和restrict关键字
- 关键字restrict
- C语言中关键字restrict的用法(linux 为 __restrict)
- extern、static、restrict、volatile 关键字
- C99中的restrict和C89的volatile关键字
- C++ restrict关键字
- C语言restrict关键字的使用
- c语言中restrict关键字的理解
- [zz]C语言的5种存储类以及关键字volatile、restrict
- c99关键字restrict
- restrict关键字用法
- 函数原型中的restrict关键字
- 【转】C语言中的restrict关键字