学习笔记之c
来源:互联网 发布:网络棋牌赌博怎么判刑 编辑:程序博客网 时间:2024/04/30 03:13
转帖:
关键字restrict的使用:
如下程序:两个均完成2个16位短型数据数组的矢量和
程序1:
void vecsum( short *sum, short *in1, short *in2, unsigned int N)
{
int i;
for(i=0;i<N;i++)
sum[i]=in1[i]+in2[i];
}
程序2:
void vecsum(short * restrict sum, restrict short * in1, restrict short * in2,unsigned int N)
{
int i;
for (i=0;i<N;i++)
sum[i]=in1[i]+in2[i];
}
编译器在编译程序1时,无法判断指针*sum与指针*in1,*in2是否独立。此时,编译器采取保守的办法,认为他们是相关的,即:认为*sum指向的存储区与*in1,in2指向的存储区可能混迭。这时编译出的代码必须执行完前一次写,然后才能开始下一次读取。在编译程序2的时候restrict表明指针*in1,*in2是独立的,*sum不会指向他们的存储区,因而可以并行进行多个数据的读取与求和。这两种程序编译出的代码执行速度相差极大。
- 学习笔记之c
- C学习笔记之scanf
- 学习笔记:指针之C
- IOS 学习笔记之C
- C学习笔记之函数
- C++Template学习笔记之函数模板
- C学习笔记之atoi()与strtol()
- 【C#】C#学习笔记之程序集
- C语言学习笔记之基本数据类型
- c++pirmer 学习笔记之数组
- C++pirmer 学习笔记之函数定义
- C++Primer学习笔记之二
- C++Primer学习笔记之三
- C语言学习笔记之预处理篇
- Linux+C学习笔记之IO编程
- Linux+C学习笔记之进程管理
- Linux+C学习笔记之网络编程
- 学习笔记之C语言基础篇
- css绘制圆角表格
- 制作自启动盘的试验
- 文字连续滚动的公告代码
- 服务器控件中加入客户端属性
- C++基本功和 Design Pattern系列 Base Class Design
- 学习笔记之c
- 巧用CSS滤镜做图案文字
- 现在股市里人人都在赚钱!!到底谁在亏钱?
- ASP学习笔记(3)--new String()
- 用CSS让网页文字竖排
- javascript里的StringBuilder
- 最近没有更新翻译了.....
- IWAM账号不同步
- 远程下载脚本downfile.vbs