关于__attribute__ ((packed))
#include <iostream>using namespace std;typedef struct
{unsigned char ver;unsigned char cmd;unsigned short id;unsigned short retcode;
}__attribute__ ((packed)) ACKPACK_CMD;struct my
{char ch; int a;
}__attribute__ ((packed)); // 取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐struct my2
{char ch; int a;
}; // 默认的字节对齐方式(4字节对齐, 不同编译器可能不同)int main()
{cout << sizeof(ACKPACK_CMD) << endl;cout << sizeof(my) << endl;cout << sizeof(my2) << endl;return 0;
}/*结论:1. 在win xp上运行结果为: 6 5 8, 编译器为g++(cl.exe根本不认识packed)1. 在win7上运行结果为: 6 8 8, 编译器为g++2. 在ubuntu上运行结果为: 6 5 8, 编译器为g++说明:__attribute__ ((packed))的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关.
*/
关于__attribute__ ((packed))相关推荐
- __attribute__ ((packed))
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法.这个功能是跟操作系统没关系,跟编译器有关,g ...
- __attribute__((packed))
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法.这个功能是跟操作系统没关系,跟编译器有关,g ...
- gcc 中的__attribute__ ((packed)) gcc移植,内存对齐.结构体对齐-转
__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐. #define __u8 unsigned char #defi ...
- __attribute__((packed)) C
__attribute__((packed))详解 标签: it 分类: linux程序 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按 ...
- __attribute__((packed))的使用
一.attribute((packed)) 1.__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐.是GCC特有的语法.这个 ...
- [zz]GNU C __attribute__ 机制简介
GNU C的一大特色(却不被初学者所知)就是__attribute__机制.__attribute__可以设置函数属性(Function Attribute).变量属性(Variable Attrib ...
- __attribute__ 总结
attribute是GNU C特色之一,在iOS用的比较广泛.系统中有许多地方使用到. attribute可以设置函数属性(Function Attribute ).变量属性(Variable Att ...
- @清晰掉 GNU C __attribute__
__attribute__((packed))详解 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有 ...
- GNU C __attribute__ 机制简介
原文链接:http://afreez.blog.51cto.com/59057/7351 摘要: 在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attrib ...
最新文章
- 使用主机ip地址绑定GooglAppEngine站点
- C#正则表达式编程(三):Match类和Group类用法
- [转] ubuntu 无线网络 配置 virtualbox
- [luogu5142]区间方差
- xfce4自己使用的主题设置备份以及xfce4默认的壁纸路径
- sip gw功能包括_完整SIP/SDP媒体协商概论-SIP/WebRTC概要
- 机器学习(part4)--模型评估
- 大话软件开发与开车的共同点
- wxPython 笔记(8)设定窗体的样式
- dns 服务器 linux_在Linux上构建自己的DNS服务器
- linux -对称加密、 非对称加密
- 计算机课教学要求,《计算机基础课程教学基本要求》研制报告
- linux之创建大文件
- Promise基本概念和基本示例使用
- 具体化和实例化的应用
- 如何使用JS来改变CSS样式
- 皮尔逊相关系数和斯皮尔曼相关系数(等级系数)与典型相关分析
- 新浪微博的Tab滑动效果
- guge图标——ps
- RFID区域实时定位系统
热门文章
- 关闭子窗口 父窗口自动刷新
- python初学者_初学者使用Python的完整介绍
- a/b测试_如何进行A / B测试?
- 回归分析检验_回归分析
- view工作原理-计算视图大小的过程(onMeasure)
- leetcode 65. 有效数字(正则表达式)
- leetcode 278. 第一个错误的版本(二分)
- blender视图缩放_如何使用主视图类型缩放Elm视图
- draft.js_如何使用快捷方式在Draft.js中创建有序列表和无序列表
- django构建网页_如何使用Django构建照片供稿