前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常用的gcc的__attribute__

常用的gcc的__attribute__

原创
作者头像
mariolu
修改2021-03-29 00:44:13
1.9K0
修改2021-03-29 00:44:13
举报

当我学习brpc。浏览代码,查看许多“ __attribute__使用过的地方”。

我在想在什么情况下使用什么“ __attribute__”?恰当使用__attribute编码可以提高程序的效率。 据我调查,这是一些例子。

  • __attribute __(noinline):防止考虑将函数内联
  • __attribute __(packed):指定放置结构或联合的每个成员以最大程度地减少所需的内存。该packed属性指定结构成员应具有尽可能小的对齐方式
  • __attribute __(unused):通知编译器您期望变量未使用,并告诉它如果不使用它不要发出警告
  • __attribute __(weak):定义可以在用户代码中覆盖的库函数
  • __attribute __(format):由printf使用并指出哪些args具有格式
  • __ attribute __(const):该函数不读取或修改任何全局内存
  • __attribute __(aligned(X)):增加结构或结构成员的对齐方式。最小对齐方式,以字节为单位。不能使用此属性来减少函数的对齐方式,而只能增加它的对齐方式。
  • __attribute __(unused):附加到变量的此属性意味着该变量可能未被使用。GCC不会对此变量发出警告。
  • __attribute __(always_inline):通常,除非指定优化,否则函数不会内联。对于内联声明的函数,即使未指定优化级别,此属性也会内联函数。
  • __attribute __(deprecated):如果在源文件中的任何位置使用该变量,则该属性将产生警告。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档