GUN C中的attribute

GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和

类型属性(Type Attribute )。

__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute__ 参数。

__attribute__ 语法格式为:__attribute__ ((attribute-list))

其位置约束为:放于声明的尾部“ ;” 之前。

关键字__attribute__ 也可以对结构体(struct )或共用体(union )进行属性设置。大致有六个参数值可以被设定,即:aligned, packed,

transparent_union, unused, deprecated 和 may_alias 。

在使用__attribute__ 参数时,你也可以在参数的前后都加上“__” (两个下划线),例如,使用__aligned__而不是aligned ,这样,你就可以在相应的头文件里使用它而不用关心头文件里是否有重名的宏定义。

aligned (alignment)

该属性设定一个指定大小的对齐格式(以字节 为单位),例如:

struct S {

short b[3];

} __attribute__ ((aligned (8)));

typedef int int32_t __attribute__ ((aligned (8)));

http://www.cnblogs.com/astwish/p/3460618.html

时间: 2024-12-29 11:53:21

GUN C中的attribute的相关文章

C#中的Attribute属性

在C#中,attribute是作为一种程序源代码的元素修饰符存在的,因为有的时候我们需要给自己的代码添加一些描述性的说明信息.当这些我们不愿意用注释或内部代码用来描述的信息,被作为attribute代码而编译的话,编译器会将它们生成到metadata中去. 同时,attribute也是一种object. 1 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method |  2 AttributeTargets.ReturnVa

浅析C#中的Attribute[转]

首先贴出原文作者和地址,以表示感谢. 原文作者:hyddd 原文地址:http://www.cnblogs.com/hyddd/ 正文: 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [AttributeUsage(AttributeTargets.Class)] public class VersionAttribute : Attribute { public string Name { get; set; } publ

关于VO中的Attribute的问题

对于新手来说,有些时候会遇到VO中的Attribute的各种问题; 总结如下:1,你页面上输入了值,但是点击保存之后值并不能存到数据库,这个是因为该字段在VO中不是基于EO的  2,你将一个VO中的EO去掉,然后将一个没有问题的SQL放入到VO中点击应用,这个时候你会发现Vo中的Attribute并没有任何属性,那么 你需要这么处理;首先将你之前的SQL拷贝出来,再将VO中的SQL替换为select 1 from dual ,点击应用,然后点击确定,再输入自己的SQL点击应用,这样之前消失的属性

Javascript中的attribute和property分析

attribute和property这两个单词,都有属性的意思,attribute有属性.特质的意思,property则有性质,性能的意思. 首先需要明确的是,在规范中,读取和设置attribute的方法是getAttribute/setAttribute/removeAttribute,比如box.setAttribute('somekey','somevalue') 而想要访问元素的property,则需要用.(点)的方法,比如,box.somekey,下面先说attribute: <div

转浅析C#中的Attribute

一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [AttributeUsage(AttributeTargets.Class)] public class VersionAttribute : Attribute { public string Name { get; set; } public string Date { get; set; } public string Describtion { get; set; }

浅析C#中的Attribute

1.什么是Attribute? 特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签.您可以通过使用特性向程序添加声明性信息.一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的. 特性(Attribute)用于添加元数据,如编译器指令和注释.描述.方法.类等其他信息..Net 框架提供了两种类型的特性:预定义特性和自定义特性. 规定特性(Attribute) 规定特性(Attribute)的语法如下: [attr

在vivado中使用attribute

之前最常用的一个attribute就是mark_debug了,语法如下:(*mark_debug="ture"*). 今天又学到几个新的,原文在这里:http://china.xilinx.com/support/answers/54357.html 一.PARALLEL_CASE (Verilog Only) Parallel case is valid only for Verilog designs. This attribute forces a case statement

mvc中利用Attribute特性来进行进行简单的登陆验证

前段时间一直比较忙.好不容易忙完.闲的没事干,就捣腾了下mvc(ef),因为以前都是用三层框架来进行开发,mvc用的也不是很多...众所周知,在三层里面我们一般都是建一个基类,然后在基类里面写验证登录方法,然后在需要验证登录的页面继承这个基类即可...但到了mvc里面所有的视图页面的操作都转移到了控制器了..这个时候我们在按照三层的方式建一个基类来继承验证登录,就没办法走通了...今天我就给大家来展示一个利用Attribute特性来验证登录.如果还有不知道这个东东的,可以百度一下Attribut

初始C#中的Attribute类

最近做项目过程中遇到了这个类,查了下MSDN,是这么说的. Attribute类:表示自定义属性的基类. 看到了就有点蒙圈了,这到底是用来干什么的呢? Attribute类 从网上查了一些资料后,就有点明白了,都说它就好比是一个附着物,用来定义额外的信息.举个例子说一下吧!我们做程序开发的时候,如何确定方法是谁开发的?当然你可以在方法上添加注释,用来表明这个方法是谁敲的,除此之外呢?还有其他方法吗? 这时这个类就派上用场了.通过继承此类,可以自定义一个属性类,然后附加的形式来为需要添加的类或者方