E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
__attribute__
__
attribute__
((unused))
2019独角兽企业重金招聘Python工程师标准>>>今天编译tcpdump看到这个选项。。谷歌了下,原来是去除编译器对未引用的函数的警告的,Problem:Ireceivedthefollowingwarning:warning:unusedvariable''warning:unusedfunction''Solution:Ifvariableorfunctionisnotused,itcan
weixin_33785108
·
2020-09-11 10:25
__
attribute__
((format(printf, 2, 3)))用法详解
_attribute_((format(printf,2,3)))用法详解在阅读redis源码的时候,遇到_attribute_((format(printf,2,3)))用法,在此记录下该用法的作用以及需要注意的点。1.用法及作用在C语言编程过程中,我们常常会实现一些可变参数的函数调用(类scanf、printf函数),变参函数在我们编程过程中带来了很大的方便,但是也有一些问题,即我们在调用可变
langzi989
·
2020-09-11 10:28
C&C++学习
__
attribute__
((unused))的作用
在分析内核时注意到有些函数会有添加__
attribute__
((unused)),在gcc手册中找到了有关的解释:unused:Thisattribute,attachedtoafunction,meansthatthefunctionismeanttobepossiblyunused.GCCwillnotproduceawarningforthisfunction
elecfan2011
·
2020-09-11 10:09
编程语言
GCC对C语言的一些扩展小结
最近在看一些源代码,遇到了一些使用__
attribute__
修饰函数和变量的属性方面的代码,不是太了解,很是汗颜,再此做个总结:GCC使用__
attribute__
关键字来描述函数,变量和数据类型的属性
傲世阿龍
·
2020-09-11 10:59
linux_driver
Linux
__
attribute__
((unused)) 函数属性
3、例程staticintFunction_Attributes_unused_0(intb)__
attribute__
((unused));
tyustli
·
2020-09-11 10:22
C语言
Linux下__
attribute__
((visibility ("default")))的使用
在Linux下动态库(.so)中,通过GCC的C++visibility属性可以控制共享文件导出符号。在GCC4.0及以上版本中,有个visibility属性,可见属性可以应用到函数、变量、模板以及C++类。限制符号可见性的原因:从动态库中尽可能少地输出符号是一个好的实践经验。输出一个受限制的符号会提高程序的模块性,并隐藏实现的细节。动态库装载和识别的符号越少,程序启动和运行的速度就越快。导出所有
fengbingchun
·
2020-09-11 08:44
Linux
CMake/Makefile
GCC/Clang/LLVM
__
attribute__
((unused)):可能不会用到,消除编译警告
__attribute__unused:可能不会用到,消除编译警告Oneoftheeasiestattributestouse,thismarksavariableasintentionallybeingpossiblyunused.Notonlydoesthisquietthecompilerfromissuinganunused-variablewarning,ittellsthehumant
rtoax
·
2020-09-11 07:29
操作系统
gcc的stdcall扩展
MSVC上:如果是函数调用约定直接就写__stdcall之类的就行了如果是gcc上:函数的扩展调用约定要这样写__
attribute__
((__stdcall__)),默认为__
attribute__
(
weixin_33802505
·
2020-09-10 19:57
设备固件升级流程
Flash划分应用区域BOOT0x00000~0x10000APP0x10000~0x80000APP偏移10240地址,存放16位字符串constcharprojectVersion[0x10]__
attribute
剑匣破
·
2020-09-10 14:14
物联网
强制内联和强制不内联
gcc里有强制不内联的,用法如下voidfoo()__
attribute__
((noinline));但是有的gcc可能会忽略noinline。那么你可以将你实现的这个函数写到调用函数之后,就
hanchaoman
·
2020-09-10 13:32
C语言+编程
gcc之inline函数探究
#include"stdio.h"//inlineintfunc(inta)__
attribute__
((always_inline));//func有,内联成功p
朱有鹏老师
·
2020-09-10 12:46
C/C++
转:从寄存器看I386和x64位中函数调用中参数传递
8cf4d132e4355daeb711db5e从寄存器看I386和x64位中函数调用中参数传递x86_64基本使用寄存器存储函数参数,寄存器不够才入栈;而i386将所有参数保存在栈上,通过gcc的扩展功能__
attribute
HJY999999
·
2020-09-10 11:35
GCC基础
__
attribute__
((packed))解释偶然机会发现在定义一个结构体时,在末尾加了一个__
attribute__
((packed)),网上查了一下它的用法,觉得可以记录下来。
yangleo1987
·
2020-08-26 16:31
# define __user __
attribute__
((noderef, address_space(1)))
compiler.h中有如下定义:#define__user__attribute__((noderef,address_space(1)))表示这是一个用户空间的地址,即其指向的为用户空间的内存大家可能对这个__
attribute
unbutun
·
2020-08-25 14:29
kernel
user
编译器
google
c
C的字节对齐和位域操作
1、字节对齐首先分析字节对齐之前,需要了解概念自身对齐:数据结构自身的大小指定对齐:编译器或者用户指定的值,例如__
attribute__
((aligned(1))),设置为单字节对齐有效对齐:取自身对齐和指定对齐中较小的分析结构体占用内存大小要看以下两个条件对于结构体或者类
liuge
·
2020-08-25 09:31
Linux
c
实现TTCP (检测TCP吞吐量)
应用层协议为了解决TCP粘包问题以及客户端阻塞问题设计的应用层协议如下://告知要发送的数据包个数和长度structSessionMessage{int32_tnumber;int32_tlength;}__
attribute
aocan6909
·
2020-08-25 02:33
嵌入式C语言自我修养 (09):链接过程中的强符号和弱符号
void __
attribute__
((weak)) func(void);int num __attribte__((weak);编译器在编译源程序时,无论你是变量名、函数名,在它眼里,都是一个符号而已
宅学部落-王利涛
·
2020-08-25 01:51
嵌入式C语言自我修养
【C++】强符号和弱符号
在GCC中,可以通过__
attribute__
((weak))来强制定义任何一个符号为弱符号。需要注意的是,__attrib
leiwangzhongde
·
2020-08-25 00:32
C语言与科学计算
【C++】强引用和弱引用
__
attribute__
((weak))externinta;printf("a=%d\n",a);我们可以将它编译成一个可执行文件,GCC并不会报链接错误。
leiwangzhongde
·
2020-08-25 00:32
C语言与科学计算
弱符号与强符号,弱引用与强引用
也可以通过GCC的“__
attribute__
((weak))”来定义任何一个强符号为弱符号。
Virtual_Func
·
2020-08-25 00:34
编译链接
nordic的nfc作为普通的gpio操作
不能对其操作解决办法:1.在keil的设置里加入一个宏2.在main.c里添加一句话constuint32_tUICR_ADDR_0x20C__attribute__((at(0x1000120C)))__
attribute
江湖_1993
·
2020-08-24 17:48
GCC/G++ 符号导出控制
此时我们可以利用GCC/G++的-fvisibility=hidden选项配合代码的__
attribute__
((visibility("default")))实现。(
weixin_33834679
·
2020-08-24 17:26
__
attribute__
一些用法
objc_subclassing_restricted使用这个属性可以定义一个FinalClass,也就是说,一个不可被继承的类,假设我们有个名叫Eunuch(太监)的类,但并不希望有人可以继承自它:@interfaceEunuch:NSObject@end@interfaceChild:Eunuch//太监不能够有孩砸@end//只要在@interface前面加上objc_subclassing
MaxMak
·
2020-08-24 14:38
Linux下gcc编译控制动态库导出函数小结
根据说明文档“HowToWriteSharedLibraries"介绍,有四种方法:1.在方法声明定义时,加修饰:__
attribute__
((visibility("hidden")))2.gcc在链接时设置
CC_AmyH
·
2020-08-24 05:45
linux
__
attribute__
在Objective-C中的运用
__
attribute__
机制是GNUC的一大特色,增强编译器的功能,带来更多的检查,更多的优化。
Jeffery91
·
2020-08-22 22:16
为什么要用 “ __
attribute__
((__packed__)) ” 定义结构体
首先,解释下“__
attribute__
((__packed__))”是做什么的?我们知道,通常定义一个U32,CPU期望这个U32地址是DW对齐的,这样对CPU访问membus比较友好。
褚道长
·
2020-08-22 11:53
C/C++
Linux USB驱动数据结构
structusb_ctrlrequest{__u8bRequestType;__u8bRequest;__le16wValue;__le16wIndex;__le16wLength;}__
attribute
Jarry_le
·
2020-08-22 03:21
gcc __
attribute__
引言
__
attribute__
就是利器之一。以下摘自UsingtheGNUCompilerCollectionForgccversion4.4.7文档,我们
green369258
·
2020-08-21 09:26
c
build
__
attribute__
特性
一、介绍GNUC的一大特色就是__
attribute__
机制。
HeroKern
·
2020-08-21 01:47
work
Playing with __attributes__ (三)
详细可参见这篇博文LLVM和GCC其实也提供了类似的attribute使用示例:__
attribute__
((visibility("default")))voidfoo1(i
canopus4u
·
2020-08-20 19:55
ios
objective-c
xcode
clang
llvm
Playing with __attributes__ (三)
详细可参见这篇博文LLVM和GCC其实也提供了类似的attribute使用示例:__
attribute__
((visibility("default")))voidfoo1(i
canopus4u
·
2020-08-20 19:54
ios
objective-c
xcode
clang
llvm
Playing with __attributes__ (一)
前言在一些代码中我们经常能看见如下的一些函数修饰符:__
attribute__
((constructor))staticvoidfoo(void){//...}voidf(void)__
attribute
canopus4u
·
2020-08-20 19:13
ios
clang
objective-c
llvm
xcode
Playing with __attributes__ (一)
前言在一些代码中我们经常能看见如下的一些函数修饰符:__
attribute__
((constructor))staticvoidfoo(void){//...}voidf(void)__
attribute
canopus4u
·
2020-08-20 19:13
ios
clang
objective-c
llvm
xcode
C语言的构造函数与析构函数
__
attribute__
((constructor))与__
attribute__
((destructor))#includevoid_init(void)__
attribute__
((constructor
_Wayne_
·
2020-08-20 14:27
C语言实例
gcc 去除符号表
读取符号表readelf-p.dynstrmylib.so通过gcc控制可见性__
attribute__
((visibility("hidden")))intfoo(inta,intb);__
attribute
Alps
·
2020-08-20 14:24
c/c++
STM32F429如果像使用内部SRAM一样使用外部SDRM
而使用__
attribute__
指定具体地址又不方便管理。
weixin_43803561
·
2020-08-20 09:21
STM32F4系列单片机
__
attribute__
((format (printf, 2, 3))); 疑惑
__
attribute__
((format(printf,2,3)));format(printf,2,3
tongdh
·
2020-08-20 07:08
C/C++
iOS宏和__
attribute__
转载自iOS宏的经典用法Apple的习惯__attribute__iOS宏的经典用法1.常量宏、表达式宏#definekTabBarH(49.0f)#definekScreenH[UIScreenmainScreen].bounds.size.height#defineisScreenWidthEqual320(fabs([UIScreenmainScreen].bounds.size.width
khlljm
·
2020-08-20 00:17
技术学习
宏
__attribute__
__
attribute__
简析
__
attribute__
表示属性,是Clang提供的一种源码注释,方便开发者向编译器表达诉求,一般以__
attribute__
(*)的方式出现在代码中。
xttxqjfg
·
2020-08-19 06:27
Object-C
#pragma pack,__
attribute__
选项和结构体对齐相关问题详解
自己编程测试时,#pragmapack(show)这个老是提示unknownaction‘show’for‘#pragmapack’-ignored[-Wpragmas]程序编译器对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式。编译器中提供了#pragmapack(n)来设定变量以n字节对齐方式。n字节对齐
yang_chen_shi_wo
·
2020-08-18 18:39
C
__
attribute__
((aligned(n)))和__
attribute__
((packed))
绪__
attribute__
是GUNC中极具特设的一大机制,可以用来设置函数属性(FunctionAttribute)变量属性(VariableAttribute)类型属性(TypeAttribute)
Baymaxly
·
2020-08-18 18:44
C语言
C语言中__
attribute__
((aligned(x)))的含义
我们可以把一个变量指定为x对齐.其中,x是一个2的幂次方.将一个变量指定为x对齐的含义是,这个变量在内存中的起始地址是x的整数倍.假设我们要将一个字符数组指定为x对齐,则相应地语句为(假设x=4):charan[10]__
attribute
赵宗义11
·
2020-08-18 15:32
C/C++
再谈:自定义结构体的对齐问题之__
attribute__
((packed))方法
问题来源:我们在程序开发过程中往往会遇到这样的问题:以某种数据格式写入,再以此格式读出,特别是socket通信中,通常会遇到数据错位问题,这就是数据结构的对齐的问题。为了让我们的数据结构以最优的方式存储,处理,保证读写数据结构都一一对齐,我们往往采用3种方式:1.程序作者,手动对齐,将数据按从小到大的顺序排列,尽量凑齐。2.使用#pragmapack(n)来指定数据结构的对齐值。3.使用__att
盖瑞乌龟慢跑中
·
2020-08-18 15:18
C++
embedded
project
C
Linux系统编程
g++中关于字节对齐的测试
g++可能通过__
attribute__
((aligned(n)))来设置变量的字节对齐数,如floata__attribute__((aligned(16)));就可以设置变量a按16字节对齐。
hjc0720
·
2020-08-18 15:51
float
class
测试
存储
平台
SMT32打印固件版本信息
SMT32打印固件版本信息文章目录SMT32打印固件版本信息源码举例手动添加头文件absacc.h(选)测试结果总结宏定义__
attribute__
分析源码//---------------------
blkhumor
·
2020-08-18 14:47
cks32
stm32f10x
数据结构对齐, #pragma pack 和 __
attribute__
((packed))
gcc中定义了两个修改数据结构对齐方式的语句1.#pragmapack()2.__attribute__((packed))#include#include#include//calculatetheoffsetoftinS#defineoffsetof(S,t)(size_t)&(((S*)0)->t)typedefstruct_S1{chara;charb;doublec;}S1;//__at
RichardYSteven
·
2020-08-18 14:13
coding
tips
【嵌入式底层知识修炼】结构体成员对齐之#pragma pack(n)和__
attribute__
((aligned (n)))的含义和区别
文章目录01-提出问题02-对齐规则2.1-自然对齐规则2.2-自定义对齐之#pragmapack(n)2.3-自定义对齐之__
attribute__
((aligned(n)))2.4-两种自定义对齐方式的区别
单眼皮的根号3
·
2020-08-18 13:51
嵌入式底层知识修炼
#
嵌入式底层知识修炼
__
attribute__
((aligned())) 和#pragma pack(1)
typedefstructStudent_t{intage;charc;}__
attribute__
((aligned(64)))Student;//影响结构体自身的对齐和大小,每个结构体单独占用64字节
嵌入式软件和硬件
·
2020-08-18 13:36
C语言
vc下和gcc的结构体紧凑对齐格式存储【#pragma pack(push,1)、__
attribute__
((packed, aligned(1)))】
一台windows机器和一台Linux机器、vxWorks(gnu)、ARM(stm32裸奔)、ADSP(裸奔)通信,传输一个结构体时,因为大家都是32位系统,结构体都是默认按4字节对齐,即双方对结构体不需要任何的存储限制,直接使用即可。但有时,一方已经将传输的结构体声明为“紧凑”格式,就要双方按同样的限制格式约束:1.VC下声明“紧凑”格式的结构体:#pragmapack(push,1)//第二
dijkstar
·
2020-08-18 13:26
vxWorks
VC++
Linux
c语言中__
attribute__
的意义
我们在进行定义数据结构计算数据结构大小的时候,或者进行网络通讯的socket发送数据的时候,都会遇到一个共同的问题:数据对齐问题。这个问题是硬件为提高访问数据的效率,引出的问题,这里就不具体说这样为什么可以提高数据的访问效率,有兴趣的人,网上都有。既然这个问题是实实在在存在的,并且软件发展了这么多年,也肯定有破解之道,下面就简单的介绍常见的3种方法:1.手动对齐,根据自己定义的数据结构,然后根据大
lm_123_456
·
2020-08-17 12:13
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他