C++代码中的 __attribute__

3 篇文章 0 订阅
订阅专栏
2 篇文章 0 订阅
订阅专栏

在阅读陈硕老师的 muduo 网络库代码时,看到有以下的使用方式(GUARDED_BY ----> THREAD_ANNOTATION_ATTRIBUTE__ ----> __attribute__)。通过查阅资料得知:
__atrribute__ 是一个编译器指令,它指定声明的特征,允许更多的错误检查和高级优化。关键字__attribute__后跟两组括号(双括号使“宏输出”变得容易,尤其是多个属性)。括号内是逗号分隔的属性列表。__attribute__指令放在函数,变量和类型声明之后。[1]
guard_by()
在这里插入图片描述

如本例中的:
	GUARDED_BY(mutex_)
	THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(mutex_))
	 __attribute__((guarded_by(mutex_))
guarded_by属性是为了保证线程安全,使用该属性后,线程要使用相应变量,必须先锁定mutex_
使得pendingFunctors_是原子操作。

1. attribute @Mattt
2. Clang 9文档 ---- 线程安全分析

【C/C++系列】C语言__attribute__机制的使用
CSDN明星博主,认证博客专家,视频、Matlab领域优质创作者。
10-25 981
DATE: 2021.10.25 文章目录1、介绍2、用法2.1、设置函数属性2.2、设置变量属性2.3、设置类型属性 1、介绍 GNU C 的一大特色就是__attribute__ 机制。attribute 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。 _attribute_ 语法格式为:__attribute__ ((attribute-list)) 2、用法 2.1、设置函数属性 alig
C++】__declspec(dllexport)和__declspec(dllimport)的作用、__attribute__((visibility(“default“)))
Badme
05-08 404
C++】__declspec(dllexport)和__declspec(dllimport)的作用
__attribute__((aligned(n)))和__attribute__((packed))
baymaxly的博客
02-04 2226
绪 __attribute__是GUN C极具特设的一大机制,可以用来设置 函数属性(Function Attribute) 变量属性(Variable Attribute) 类型属性(Type Attribute) 这里我们主要阐述用__attribute__((aligned(n)))和__attribute__((packed))两个指令对结构体进行属性设置 一、作用简述 __at...
深入剖析C++的 “属性“(Attribute specifier sequence)
最新发布
hebhljdx的博客
07-10 1278
笔者最喜欢的C++属性就是[[nodiscard]]了,计划今天就在团队推广开。因为许多开发者在调用一些可能失败的函数不检查返回值,导致代码鲁棒性较低。给一些重要函数加上[[nodiscard]]属性之后,编译器就能避免这种情况的发生,真是太有用了。如果向了解更多关于C++属性的知识,那么可以来cppreference看看。
C++ : __attribute__关键字扩展
haoxingfeng的专栏
06-24 1万+
GCC使用__attribute__关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化。 GCC使用__attribute__关键字来描述函数,变量和数据类型的属性,用于编译器对源代码的优化。 描述函数属性的几个重要的关键字: void noreturnfun() __attribute__((noreturn));//函数不会返回。 void centon(
__attribute__ 你知多少?
kof98765的专栏
07-08 5096
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。 __attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribu
c/c++--__attribute__ 机制
qq_37233070的博客
10-12 450
_attribute__机制实际上是 GCC 的一种编译器命令,用来指示编译器执行实现某些高级操作。__attribute__可以设置。LLVM也借用了GCC的__attribute__,并进行了扩展。
C/C++编程:__attribute__
OceanStar的博客
01-04 274
C++_attribute机制,deprecated
WChang的博客
04-14 673
catalogbase函数__constructor__destructor__noreturn__ base GCC的一大特色是:__attribute__ 他可以设置函数属性、变量属性、类型属性 使用方式为: 放在 '声明' 的后面, '分号;'的前面 用于: 编译器 对 源代码的优化 函数 constructor void Before_main_auto_exec() __attribute__((__constructor__)); void Before_main_auto_exe
举例说明c++__attribute__的 用法
04-01
3. __attribute__((noreturn)): 用于告诉编译器函数不会返回,可以用于优化代码。 ``` void test() __attribute__((noreturn)); ``` 4. __attribute__((const)): 用于告诉编译器函数没有任何副作用,并且只依赖于...
cpW.rar_C++ 命令行工具_文件复制
09-24
HANDLE hSource = CreateFile(srcPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hDest = CreateFile(destPath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_...
AttributeError: ‘module‘ object has no attribute ‘RAW_OPT‘解决方案
热门推荐
weixin_43178406的博客
12-19 5万+
 本文主要介绍了AttributeError: ‘module’ object has no attribute 'RAW_OPT’解决方案,希望能对使用gazebo_ros_pkgs的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案
【C/C++】__attribute__ 使用技巧详解
Michael
04-20 3701
_attribute__可以用于指定变量的对齐方式、函数的调用约定、类型的大小等属性,从而对程序的性能、可移植性等方面进行优化。__attribute__的使用可以提高程序的性能、可移植性和可读性,但需要注意的是,__attribute__是GCC编译器的扩展语法,不是标准C语言的一部分,因此在使用时需要考虑可移植性问题。提高程序性能:使用__attribute__可以指定变量的对齐方式、函数的调用约定等属性,从而提高程序的性能。unused:告诉编译器该变量或函数未被使用,避免编译器产生警告。
【C/C++】__attribute__ 用法
lyk82698的博客
11-17 1342
【C/C++】__attribute__ 用法
C++ [[attribute]]
weixin_33836874的博客
03-13 174
考虑下面的代码: int x=1; switch (x) { case 1: std::cout << "x==1" << std::endl; case 2: std::cout << "x<=2" << std::endl; break; case 3: std::cout << ...
__attribute__机制介绍
bytxl的专栏
04-30 1223
http://blog.csdn.net/sunboy_2050/article/details/6566739 1. __attribute__ GNU C的一大特色(却不被初学者所知)就是__attribute__机制。 __attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attr
c++:_attribute_ 使用:
扎扎实实写代码的专栏
02-13 1万+
GNU C的一大特色(却不被初学者所知)就是attribute机制。attribute可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 attribute书写特征是:attribute前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的attribute参数。 attribut
__attribute__ 详解
三多
08-31 2542
GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function     Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。 __attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__att
C/C++编程:__attribute__((constructor))、 __attribute__((destructor))
OceanStar的博客
12-14 4127
attribute((constructor)) 先于main()函数调用 attribute((destructor)) 在main()函数后调用 #include <stdio.h> #include <stdlib.h> static void before(void) __attribute__((constructor)); static void after(void) __attribute__((destructor)); static void before()
C++ __attribute__作用
04-04
__attribute__是GCC编译器的一个特殊语法,用于设置变量、函数、类型等的属性。它可以帮助程序员在编译期间实现一些特殊的功能,例如强制对齐、优化、将变量放在特定的地址等。 常用的__attribute__属性包括: 1. __attribute__((packed)):指定结构体或联合体不进行字节对齐,即按照实际占用空间进行存储。 2. __attribute__((aligned(n))):指定变量或结构体成员的对齐方式为n字节对齐。 3. __attribute__((noreturn)):指定函数不会返回任何值。 4. __attribute__((optimize("O0/O1/O2/O3"))):指定函数的优化级别为0/1/2/3级别。 5. __attribute__((section("name"))):指定变量或函数放在指定的段。 6. __attribute__((unused)):指定变量未使用,避免编译器发出未使用变量的警告信息。 7. __attribute__((weak)):指定变量或函数为弱符号,如果有同名的强符号,则弱符号会被忽略。 使用__attribute__语法可以帮助程序员更好地控制代码的行为,提高程序的性能和可读性。
写文章

热门文章

  • python map()函数和lambda表达式 68666
  • git commit 遇到error: pathspec 14641
  • ubuntu16.04 vim 添加python支持 8309
  • shell中的set -x 8246
  • C++代码中的 __attribute__ 7579

分类专栏

  • QT学习之章 1篇
  • linux c 2篇
  • windows 编程 3篇
  • c++ 3篇
  • vs2010
  • linux 4篇
  • python 1篇
  • shell 2篇
  • muduo 2篇

最新评论

  • git commit 遇到error: pathspec

    啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈!: $ git commit -m '[add]add commit' error: pathspec 'commit'' did not match any file(s) known to git 单引号也报错了,换成双引号可以。 OS:windows10

  • git commit 遇到error: pathspec

    -YIN: 哈哈哈确实,一脸蒙,看到这里恍然大悟

  • git commit 遇到error: pathspec

    csdn_newman: 可以的,同样的疏忽,我是多了个m

  • (gvim:7776): GLib-GObject-WARNING **

    凳子花❀:

  • python map()函数和lambda表达式

    huangjinkuaile: 简单明了,爱了

最新文章

  • shell中的set -x
  • ubuntu18.04 muduo编译安装
  • 程序在内存中的布局
2019年3篇
2017年4篇
2016年3篇
2014年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家无锡玻璃钢人物雕塑优惠广东玻璃钢卡通雕塑定制邵阳玻璃钢雕塑怎么收费钦州玻璃钢商场美陈宁德玻璃钢商场美陈玻璃钢文字音符雕塑厂家直销景观玻璃钢雕塑厂文登玻璃钢雕塑黄山个性化玻璃钢雕塑玻璃钢雕塑哪种好用河北室内商场美陈哪家好阜康玻璃钢头像雕塑玻璃钢雕塑模具生产厂家新年商场店外美陈芜湖酒店玻璃钢雕塑设计河源玻璃钢透光雕塑批发安徽创意玻璃钢雕塑定做价格乐高商场美陈版权北京城市几何玻璃钢雕塑电影玻璃钢雕塑曲靖玻璃钢雕塑代理玻璃钢制品鼓楼玻璃钢雕塑厂家嘉峪关玻璃钢花盆北京玻璃钢花盆哪里有辽宁商场创意商业美陈定制玻璃钢雕塑维修翻新台州玻璃钢仿铜雕塑厂家小品玻璃钢动物雕塑制作福建环保玻璃钢雕塑图片香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化