
gcc
文章平均质量分 76
沙海石
专注嵌入式,专注通讯!
展开
-
typeof
typeof 是C语言的新扩展的一个东东,只有部分编译器支持,不过这个特性在linux内核中应用非常广泛,对实现面向对象有非常重要的作用 假设有 typedef struct { char a; int member; long c; } type; container_of作用: container_of实现了根据一个结构体变量中的一个转载 2012-11-22 14:35:18 · 427 阅读 · 0 评论 -
typeof一些例子
typeof的参数可以是两种形式:表达式或类型。 下面是使用表达式的的例子: typeof(x[0](1) 这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。 如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。 以下示例声明了int类型的var变量,因为表达式foo()是int类型的。由于表达式不会被执行,所以不会调用foo函数转载 2012-11-22 14:46:19 · 496 阅读 · 0 评论 -
_attribute_((packed))
_attribute_((packed)) 1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如: 在TC下:struct my{ c转载 2012-12-10 09:55:24 · 515 阅读 · 0 评论 -
__attribute__机制介绍
1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。 __attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute) __attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__转载 2012-12-10 10:28:59 · 344 阅读 · 0 评论