restrict关键字?
本帖最后由 GioPna 于 2013-03-10 21:03:01 编辑 《C语言程序设计 现代方法》
22.2 文件操作
FILE *fopen(const char *restrict filename, const char *restrict mode)
restrict是C99关键字,表明filename和mode所指向的字符串的内存单元不共享。
--------------------------------------------------
这句话是什么意思?
[解决办法]
关键字restrict只用于限定指针;该关键字用于告知编译器,所有修改该指针所指向内容的操作全部都是基于(base on)该指针的,即不存在其它进行修改操作的途径;这样的后果是帮助编译器进行更好的代码优化,生成更有效率的汇编代码
[解决办法]
http://en.wikipedia.org/wiki/Restrict
有了这个说明,编译器就大胆进行优化。