您尚未登录。

楼主 #1 2018-09-08 10:53:20

Lvy
会员
注册时间: 2017-11-25
已发帖子: 107
积分: 96.5

请教:在littleVGL的代码里看到的不明白的函数定义!

像这个函数 LV_ATTRIBUTE_TICK_INC void lv_tick_inc(uint32_t tick_period)
它在void的前面还有LV_ATTRIBUTE_TICK_INC这个宏定义,想问大家这种函数定义怎么可以编译通过,有什么参考的资料请推荐下。
#define LV_ATTRIBUTE_TICK_INC                 /* Define a custom attribute to `lv_tick_inc` function */

离线

#2 2018-09-08 11:00:52

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 请教:在littleVGL的代码里看到的不明白的函数定义!

https://github.com/littlevgl/lvgl/blob/master/lv_hal/lv_hal_tick.h

/* Define a custom attribute to `lv_tick_inc` function */

就是说如果用户给这个函数另外定义了一个属性(attribute), 就使用自定义的。
如果没有定义,那么就使用默认的(空定义).

离线

楼主 #3 2018-09-08 11:45:22

Lvy
会员
注册时间: 2017-11-25
已发帖子: 107
积分: 96.5

Re: 请教:在littleVGL的代码里看到的不明白的函数定义!

可是它这个宏是在函数的返回值void前面,我试过 给#define LV_ATTRIBUTE_TICK_INC 赋任何值都不行。我不理解的是这种函数的写法,因为没有找到这种函数的书写(定义)格式。

离线

#4 2018-09-08 11:51:46

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 请教:在littleVGL的代码里看到的不明白的函数定义!

https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

看下,是不是酱紫的。

类式这种 __attribute__ ((deprecated));





离线

#5 2018-09-08 12:39:15

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 请教:在littleVGL的代码里看到的不明白的函数定义!

这样做是为了方便加static, inline, volatile以及__attribute__这样的关键字吧

离线

楼主 #6 2018-09-08 15:12:11

Lvy
会员
注册时间: 2017-11-25
已发帖子: 107
积分: 96.5

Re: 请教:在littleVGL的代码里看到的不明白的函数定义!

应该是这样的。不然的话看不出有别的用处了。

达克罗德 说:

这样做是为了方便加static, inline, volatile以及__attribute__这样的关键字吧

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn