当前位置: 首页 > news >正文

如何 html5 网站模板server 2008 架设网站

如何 html5 网站模板,server 2008 架设网站,wordpress二手房,打电话来说做网站 然后答应了结构体相信大家已经了解过了,现在我们深入讨论一个问题,计算结构体的大小 也是很热门的一个考点:结构体内存对齐 先看看下面结构体的大小 typedef struct Test {char a;char b;char c; }Test; 很容易看出答案为3,结构体的大小位…

结构体相信大家已经了解过了,现在我们深入讨论一个问题,计算结构体的大小

也是很热门的一个考点:结构体内存对齐

先看看下面结构体的大小

typedef struct Test
{char a;char b;char c;
}Test;

很容易看出答案为3,结构体的大小位各成员之和

但是如果代码变成这样的呢

typedef struct Test
{char a;double b;int c;
}Test;

难道会是1+8+4,但是运行结果却不是

这就是我们要进行的内存对齐 

typedef struct Test
{char a;   //1+7double b; //8int c;    //4+4
}Test;

此时答案为24 

 可以得到:基本数据类型的对齐值为所占空间的大小,自定义类型的对齐值为内部成员的最大空间

typedef struct Test
{char a;   //1+3int b;    //4double c; //8
}Test;

此时我们的答案变成了16 

所以成员数据在没有要求的情况下,一般从小到大安排数据,所占空间最小。

当我们的程序有了自定义类型的对齐值时,例如:

#pragma pack(4)
typedef struct Test
{char a;    //1+3double b;  //8int c;     //4
}Test; 

程序的指定对齐值-------#pragma pack(n),n必须是2的幂次方,n为1时,直接将其内部成员加起来即可

##pragma pack(),取消设置的默认对齐数,还原为默认

但是如果程序如下

#pragma pack(4)
typedef struct Test
{char a;   //1+1short b;  //2int c;    //4
}Test;

此时我们的答案为8 

 程序的有效对齐值为程序指定对齐值与自身对齐值的较小值

特别注意,我们看下面代码(示例)

typedef struct Test
{int a;struct t{char b;char c;char d;char e;};short f;
}Test;

按照我们上面的内存对齐的规则,答案应当为12,但是结构确为8 ,在C++中,只要结构体内部的结构带名字(t只是举例),此时内部的结构体就变成了结构体类型,其不占空间大小

最后,我们为什么要进行内存对齐?

拿两张图来说

不对齐

 对齐

 结构体的内存对齐是用空间换时间的做法

大部分参考资料这样说

1. 平台原因(移植原因)
不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。
2. 性能原因
数据结构(尤其是栈)应该尽可能地在自然边界上对齐。 原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。

http://www.yayakq.cn/news/403668/

相关文章:

  • 重庆手机网站推广资料自己可以做微信公众号吗
  • 编程网站ide做的比较好的网站由哪些部分组成部分组成
  • 杭州建设公司网站好看的个人网页设计
  • 山东省住房与建设厅网站wordpress禁用xmlrpc
  • 西宁网站制作费用是多少最新新闻热点事件摘抄300字
  • 商务网站建设论文答辩ppt安庆网站建设专业制
  • 有网站域名及空间 别人帮建网站网络营销和电子营销的区别
  • 吉林天宇建设集团网站市场监督管理局是什么单位
  • 上海网站建设哪中国互联网巨头排名
  • 青海网站开发 建设手机网站用什么语言开发
  • wordpress 终极优化做神马网站优化排名软
  • 企业网站源码进一品资源网楚州网站开发
  • 企业 手机网站微信公众号定位开发
  • 旅游电子商务网站的建设方案巨耀网站建设公司
  • 龙华民治网站设计公司详情页设计策划
  • 网站在线留言响应式网站的字体设置
  • 洛阳制作网站的公司课程网站的设计
  • h5制作网站公司嘉定网站设计制作报价
  • 网站如何做抖音推广网页版qq农场登录入口
  • 网站原创文章规范淄博周村网站建设哪家好
  • 搭建租号网的网站免费网站的app
  • 2015网站备案教程网页设计与网站开发
  • 手机网站淘宝客怎么做免费saascrm
  • 阳泉 网站建设合作南京创网网络技术有限公司
  • 做网站 乐清给几个网站谢谢
  • 中山高端网站建设公司移动无线宽带怎么续费
  • 网站开发和界面的区别wordpress伪静态html
  • 川沙网站建设怎么用云校建设学校网站
  • 武威做网站的公司太仓住房和城乡建设局网站
  • 建设网站服务器怎么弄网站集约化建设 要求