利用公用体的特性来确定CPU的数据对齐的端模式
来源:互联网 发布:江苏运时数据 编辑:程序博客网 时间:2024/05/16 09:53
数据对齐的端模式与处理器有关,详细见图:
利用共用体的特性:所占用的大小是共用体中所定义的
最大类型的大小,若只有两个变量,那么最小的那个变量
指向的是最大类型的地址的最低位地址,从低位往高位递增
所以利用这种方法,可以检验CPU的数据存储方式 是 大端存储还是 小端存储。
tips1:
小端存储:高地址储存高位,低地址储存低位。
大端存储:低地址储存高位,高地址储存低位。
tips2:
指针的类型 决定指针移动的步长,比如:char *p*(p+1) 就是指向下一个内存格(因为char类型占用内存大小为1个字节)
下面贴代码:
#include "stdio.h"
union endin{int i;char c;}temp;int main(void){if(checkCPU()) printf("small\n");else printf("big\n");return 0;}int checkCPU(){temp.i=1;if(temp.c==1) return 1;else return 0;}也可以利用tips2的原理来寻找另外一个方法
#include "stdio.h"int main(){int s=1;char *p;p=&s;//令p指向编译器为s分配的内存的第一块地址//if(*p==1) printf("small\n");else printf("big\n");}
p=&s是使 *p指向编译器为s分配的内存的第一块地址,而第一块地址通常是最低位,然后地址依次向上递增,也有特殊情况,当*p指向的最高位的时候,该方法就应作出调整。
0 0
- 利用公用体的特性来确定CPU的数据对齐的端模式
- c++公用数据的保护
- c++公用数据的保护
- 利用联合体判断cpu的存储模式
- 浅谈数据对齐对CPU效率的影响(转)
- 浅谈数据对齐对CPU效率的影响
- 浅谈数据对齐对CPU效率的影响
- 测试CPU的特性
- 工厂模式(使用配置文件来确定具体的实例)
- 如何根据cpu的processor数来确定程序的并发线程数量
- 如何利用多核CPU来加速你的Linux命令
- 如何利用多核CPU来加速你的Linux命令
- Linux中确定CPU的情况
- Linux中确定CPU的情况
- 结构体的数据对齐
- 用友确定“数据驱动的企业”发展模式
- 数据的对齐
- 数据对齐的解释
- Adb connection Error:远程主机强迫关闭了一个现有的连接。
- 快速命令行编辑
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
- 为什么String类是不可变的
- android:descendantFocusability用法简析
- 利用公用体的特性来确定CPU的数据对齐的端模式
- 锁检查脚本
- Datename函数与Datepart函数的异同
- Android和iOS中Cocos2dx的横屏竖屏设置
- 修改tomcat默认iso8859-1的编码编码方式 .
- ORA-01720: grant option does not exist for 'xxx.xxxx'
- DBM
- 让c/c++代码更好的缩进
- HDU 4358 Boring counting(树状数组离线操作+欧拉序列)