- 博客(6)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 结构体的位域(变量+冒号)
先看例子:1、typedef struct{ unsigned int a:4; unsigned int :0; char b:1; char c:7; unsigned int e:28; unsigned int f:4;}Test;a的长度为4bits,是uint型的,如果Test.a=16,由于超过范围,所以溢出,a=0; 偏移量为0:0的意思是补齐,就是第一
2017-08-30 17:51:11 578
原创 关于printf("%d,%d",i--,i++)的问题
首先看几种情况1、 int i=1; printf("%d,%d\n",i--,i++);运行结果为:2,1这与编译器有关,通过汇编可以很清楚的看到第一步:把i的值存入缓存器[ebp-0E8h]=1;第二步:i值加1,i=i+1=2;第三步:把i的值存入缓存器[ebp-0ECh]=2;第四步:i值加1,i=i-1=1;第五步:把缓存器[ebp-0E8h
2017-08-29 22:20:17 29786 5
转载 关于开方sqrt的优化算法
float sqrt(float x){ if(x==0) return 0; float result=x; float xhalf=0.5f*result; int i=*(int*)&result; i=0x5f375a86-(i>>1); result=*(float*)&i; result=result*(1.5f-xhalf*result*result); r
2017-08-28 17:56:30 2003
原创 分段机制小结
1、分段的原因分段提供了隔绝各个代码、数据和堆栈区域的机制,因此多个程序或任务可以运行在同一个处理器上而不会相互干扰。如上图所示,段选择符是寄存器CR3的值,其中
2017-08-15 21:15:39 324
原创 Linux分页机制
分页机制为传统需求页、虚拟内存系统提供了实现机制系统中的线性地址比实际的物理地址大的多,所以进行虚拟化线性地址空间,即虚拟存储技术
2017-08-15 21:15:26 304
原创 分段机制小结
1、分段的原因分段提供了隔绝各个代码、数据和堆栈区域的机制,因此多个程序或任务可以运行在同一个处理器上而不会相互干扰。上图所示,分段机制吧处理器可寻址的线性地址空间划分成一些较小的称为段的受保护地址空间区域,段可以存放程序的数据、代码和堆栈,等。如果有多个程序或者任务在运行,那么每个程序可分配各自的一套段,来进行隔离。一个系统中所有使用的段都包含在处理器线性地址空间中,为了
2017-08-14 21:44:04 251
为什么data1和data2不能输入?
2015-11-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人