Chinaunix首页 | 论坛 | 博客
  • 博客访问: 813008
  • 博文数量: 15
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2019-02-01 13:13
个人简介

专注嵌入式、Linux精品教程。 微信公众号:宅学部落 嵌入式视频淘宝店:https://wanglitao.taobao.com

文章分类
文章存档

2021年(1)

2020年(1)

2019年(13)

我的朋友

发布时间:2019-04-20 09:39:06

内建函数,顾名思义,就是编译器内部实现的函数。这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要 #include 对应的头文件才能使用。用来处理变长参数列表;用来处理程序运行异常;程序的编译优化、性能优化;查看函数运行中的底层信息、堆栈信息等;C 标准库函数的内.........【阅读全文】

阅读(2211) | 评论(0) | 转发(0)

发布时间:2019-04-19 09:07:19

这一节,接着讲 __atttribute__ 属性声明,__atttribute__ 可以说是 GNU C 最大的特色。我们接下来继续讲一下跟内联函数相关的两个属性:noinline 和 always_inline。这两个属性的用途是告诉编译器:编译时,对我们指定的函数内联展开或不展开。它们的使用方法如下。static inline __attribute__((noinline)).........【阅读全文】

阅读(2264) | 评论(0) | 转发(0)

发布时间:2019-04-18 08:59:13

GNU C 通过 __atttribute__ 声明weak属性,可以将一个强符号转换为弱符号。编译器在编译源程序时,无论你是变量名、函数名,在它眼里,都是一个符号而已,用来表征一个地址。编译器会将这些符号集中,存放到一个叫符号表的 section 中。是时候表演真正的技术了。这时候,就需要用编译链接的原理知识来分析这个问.........【阅读全文】

阅读(229890) | 评论(0) | 转发(0)

发布时间:2019-04-16 07:48:24

GNU 通过 __atttribute__ 扩展的 format 属性,用来指定变参函数的参数格式检查。我们经常实现一些自己的打印调试函数。这些打印函数往往是变参函数,那编译器编译程序时,怎么知道我们的参数格式对不对呢?因为我们实现的是变参函数,参数的个数和格式都不确定。所以编译器表示压力很大,不知道该如何处理。属性.........【阅读全文】

阅读(209941) | 评论(0) | 转发(0)

发布时间:2019-04-15 07:29:11

7.1 属性声明:aligned通过 aligned 属性,我们可以直接显式指定变量 a 在内存中的地址对齐方式。aligned 有一个参数,表示要按几字节对齐,使用时要注意地址对齐的字节数必须是2的幂次方,否则编译就会出错。一般情况下,当我们定义一个变量,编译器会按照默认的地址对齐方式,来给该变量分配一个存储空间地址。如.........【阅读全文】

阅读(208658) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册