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__

GNU C字节对齐__attribute__((aligned(n))) #pragma pack(n)

GNU C中不为人知的特色:__attribute__机制

GNU C中不为人知的特色:__attribute__机制

GNU C: Declaring Attributes of Functions

GNU C相关