GNU C中__attribute__妙用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GNU C中__attribute__妙用相关的知识,希望对你有一定的参考价值。
有关应用于函数的属性的语义的详细信息,请参阅功能属性。有关适用于变量的属性语义的详细信息,请参阅变量属性。有关适用于结构,联合和枚举类型的属性语义的详细信息,请参阅类型属性。
一个属性说明符的形式为__attribute__((属性列表))。一个属性列表是一个可能是空的逗号分隔的序列的属性,其中每个属性是以下之一:
emtry。空属性被忽略
a word。(可以使诸如的标识符unused,或诸如保留字const)
a word,后跟括号中的属性参数。这些参数采用以下形式之一:
一个标识符。例如mode属性
一个标识符后面跟着一个逗号,或非空逗号分隔的表达式列表。例如,format属性
一个可能空的表达式分隔列表。例如format_arg属性。
For example:
指定类型:指向指向指向不返回函数返回的指针的指针void类型
void (__attribute__((noreturn)) ****f)(void);
指定类型:指向8个字节对齐指针的指针char*类型
char *__attribute__((aligned(8))) *f;
具体解释方法:https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Function-Attributes.html#Function-Attributes
本文出自 “周开元” 博客,请务必保留此出处http://feng02.blog.51cto.com/12964732/1975920
以上是关于GNU C中__attribute__妙用的主要内容,如果未能解决你的问题,请参考以下文章
GNU C字节对齐__attribute__((aligned(n))) #pragma pack(n)