Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1512327
  • 博文数量: 338
  • 博客积分: 2695
  • 博客等级: 少校
  • 技术积分: 3556
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-05 11:37
个人简介

小鱼儿游啊游啊。。。。

文章分类

全部博文(338)

文章存档

2019年(4)

2018年(8)

2017年(6)

2016年(10)

2015年(49)

2014年(48)

2013年(98)

2012年(115)

发布时间:2014-08-08 14:18:43

内存屏障        由于编译器的优化和缓存的使用,导致对内存的写入操作不能及时地反映出来,也就是说当完成对内存的写入操作之后,读取出来的有可能是旧的内容。我们把这种现象称为内存屏障(Memory Barrier) 。 编译器引起的内存屏障      &nb.........【阅读全文】

阅读(2545) | 评论(0) | 转发(0)

发布时间:2014-08-08 11:24:25

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:     1). 并行设备的硬件寄存器(如:状.........【阅读全文】

阅读(1701) | 评论(0) | 转发(0)

发布时间:2013-01-07 14:39:16

swap(int *p1,int *2){int temp; temp=*p1; *p1=*p2; *p2=temp;}main(){int a,b; int *pointer_1,*pointer_2; scanf("%d%d",&a,&b); pointer_1=&a;pointer_2=&b; if(a<b)swap(pointer_1,pointer_2); printf("%d,%d\n",a,b);}进入函数后,函数创建几个空间给形参,再把实参数值拷过来。退出函数时,把形参空间释放,则影响不到实参。这就是值传递。 swap(int *p1,in......【阅读全文】

阅读(4371) | 评论(0) | 转发(0)

发布时间:2013-01-05 17:12:35

一、使用指针做函数返回值:1、当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册,不会被释放,即可能被其他操作修改);2、使用栈内存返回指针是明显错误的,因为栈内存将在调用结束后自动释放,从而主函数使用该地址空间将很危险。   例如:            char* GetMemory()  &nbs......【阅读全文】

阅读(1133) | 评论(0) | 转发(0)

发布时间:2013-01-03 15:40:35

代码1:void GetMemory(char *p){ p = (char*)malloc(100);}int main(int argc, char *argv[]){ char *str = NULL; GetMemory(str); strcpy(str, "Hello"); return 0;}str没有得到分配内存的地址值。 内存空间状态:首先申请了四个字节的栈空间,存放str指针,此时str的值为0,存放str的这块内存的地址值为0x0012ff7c。调用函数 GetMemory,指针P入栈,也分配了四个字节的栈空间,P被赋str的值即此时P的值也为0,存放指针P的内存......【阅读全文】

阅读(1132) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

yanbingwei862015-04-01 15:04

怎么你的文章很多都设置了只能自己看啊 我觉得很多写的很好 也想看看 能开放一下权限嘛  谢谢

回复  |  举报
留言热议
请登录后留言。

登录 注册