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

新乡专业做网站凡科网站怎样做

新乡专业做网站,凡科网站怎样做,网站备案与域名备案,网站开发后端指什么一个很重要的参数#pragma pack(n)数据边界对齐方式:以如下结构为例: struct {char a;WORD b;DWORD c;char d;}在Windows默认结构大小: sizeof(struct) 444416;与 #pragma pack(4)一样若设为 #pragma pack(1), 则结构大小: sizeof(struct) 12418;若设为 #pragma pack(2), 则… 一个很重要的参数#pragma pack(n)数据边界对齐方式:以如下结构为例: struct {char a;WORD b;DWORD c;char d;}在Windows默认结构大小: sizeof(struct) 444416;与 #pragma pack(4)一样若设为 #pragma pack(1), 则结构大小: sizeof(struct) 12418;若设为 #pragma pack(2), 则结构大小: sizeof(struct) 224210;在#pragma pack(1)时:空间是节省了,但访问速度降低了;结构体对齐的具体含义#pragma pack朋友帖了如下一段代码#pragma pack(4)class TestB{public:int aa;char a;short b;char c;};int nSize sizeof(TestB);这里nSize结果为12在预料之中。现在去掉第一个成员变量为如下代码#pragma pack(4)class TestC{public:char a;short b;char c;};int nSize sizeof(TestC);按照正常的填充方式nSize的结果应该是8为什么结果显示nSize为6呢事实上很多人对#pragma pack的理解是错误的。#pragma pack规定的对齐长度实际使用的规则是结构联合或者类的数据成员第一个放在偏移为0的地方以后每个数据成员的对齐按照#pragma pack指定的数值和这个数据成员自身长度中比较小的那个进行。也就是说 当#pragma pack的值等于或超过所有数据成员长度的时候这个值的大小将不产生任何效果。而结构整体的对齐则按照结构体中最大的数据成员 和 #pragma pack指定值 之间较小的那个进行。具体解释#pragma pack(4)class TestB{public:int aa; //第一个成员放在[0,3]偏移的位置char a; //第二个成员自身长为1#pragma pack(4),取小值也就是1所以这个成员按一字节对齐放在偏移[4]的位置。short b; //第三个成员自身长2#pragma pack(4)取2按2字节对齐所以放在偏移[6,7]的位置。char c; //第四个自身长为1放在[8]的位置。};这个类实际占据的内存空间是9字节类之间的对齐是按照类内部最大的成员的长度和#pragma pack规定的值之中较小的一个对齐的。所以这个例子中类之间对齐的长度是min(sizeof(int),4)也就是4。9按照4字节圆整的结果是12所以sizeof(TestB)是12。如果#pragma pack(2)class TestB{public:int aa; //第一个成员放在[0,3]偏移的位置char a; //第二个成员自身长为1#pragma pack(4),取小值也就是1所以这个成员按一字节对齐放在偏移[4]的位置。short b; //第三个成员自身长2#pragma pack(4)取2按2字节对齐所以放在偏移[6,7]的位置。char c; //第四个自身长为1放在[8]的位置。};//可以看出上面的位置完全没有变化只是类之间改为按2字节对齐9按2圆整的结果是10。//所以 sizeof(TestB)是10。最后看原贴现在去掉第一个成员变量为如下代码#pragma pack(4)class TestC{public:char a;//第一个成员放在[0]偏移的位置short b;//第二个成员自身长2#pragma pack(4)取2按2字节对齐所以放在偏移[2,3]的位置。char c;//第三个自身长为1放在[4]的位置。};//整个类的大小是5字节按照min(sizeof(short),4)字节对齐也就是2字节对齐结果是8//所以sizeof(TestC)是8。
http://www.sadfv.cn/news/187346/

相关文章:

  • 网站描述怎么写利于seoWordPress图床工具
  • 对网站开发的理解海报制作软件免费版
  • 什么内容能提高网站流量电子商务网站建设与管理期末试题
  • 做外语网站的公司有多少专门做兼职的网站
  • 怎么做网站收广告费深圳企业网站制作
  • 网站建设实践描述营业执照最佳取名
  • 网站设计与开发技术教程什么是搜索引擎销售
  • 网站开发建网站建设的方法有哪些内容
  • 建设银行企业网站首页软件工程出来干什么工作
  • 长沙培训网站建设wordpress女性模板
  • 外贸网站建设需求200款软件大全
  • 类似交费网站开发免费制作小程序平台
  • 怎么搜索网站内容电子商务网站开发系统平台
  • 举报网站建设运行汇报wordpress 恢复默认
  • 南宁有多少家网站建设推广的公司项目进度管理软件app
  • 建设网站读什么专业东莞百度网站快速优化
  • 网站程序风格设计公司起名网
  • 大朗镇做网站wordpress 常数函数
  • 公司注册核名在哪个网站海南省住房公积金管理局地址
  • 外国可以做站外推广的网站没有空间可以做网站吗
  • 最好的wordpress网站建筑人才招聘网最新招聘
  • 免费企业建站系统源码百度网站建设哪家公司好
  • 南宁建行 网站精品课程网站建设毕业设计论文
  • 单位门户网站建设的请示网络营销方式的演变
  • 海南高端网站建设网站域名有哪些
  • 网站建设公司软文集安网站建设
  • 关于网站建设的小故事wordpress插件tag
  • 太原建站方法上海网站优化排名
  • 什么网站可以做2.5D场景做的网站怎么上传图片
  • 粘合剂东莞网站建设莱芜二手房网