__attribute__ ((__packed__))编译选项
来源:互联网 发布:淘宝店铺一个好评几分 编辑:程序博客网 时间:2024/06/08 00:58
最近在不同的环境编译epoll程序的时候总是有问题,看了下系统epoll.h,原来是两个不同的版本。
其中有些宏定义老版的没有,而在老版中定义
struct epoll_event
{
uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
} __attribute__ ((__packed__));
epoll_data_t是一个64位的union,定义
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
查了下__attribute__ ((__packed__))这个,这个是gcc取消内存对齐的编译参数,加上这个
结构体大小为12字节,而不加则是16字节events后面会补齐。
- __attribute__ ((__packed__))编译选项
- __attribute__ ((__packed__)) 编译通不过
- 结构体声明当中 __attribute__ ((__packed__))关键字
- GCC __attribute__ 选项
- GCC编译关键字“__attribute__”
- __attribute__编译属性---section
- gcc 的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- gcc的__attribute__编译属性
- 编译选项
- 编译选项
- 编译选项
- 无法引入com.sun.management.OperatingSystemMXBean .
- C语言中堆和栈的区别
- 黑马程序员-动态代理
- 输入URL按下回车后究竟发生了什么
- 二路归并排序
- __attribute__ ((__packed__))编译选项
- Fiddler 教程
- shell语法
- CSS规范定义
- 怎样才能让Linux的tty1-6显示都是英文,图形界面显示的是中文?
- 【Boost】boost库中thread多线程详解5——谈谈线程中断
- 《一九四二》高清下载
- 让孩子益智的营养物质
- linux进程间通信2——有名管道