C++
文章平均质量分 96
C++,学好了就是大牛!
IOT物联网小镇
公众号:【IOT物联网小镇】。
道哥,十多年的嵌入式开发老兵。擅长用通俗的语言、简洁的代码,一步一步的剖析C/C++、Linux操作系统、应用程序设计、物联网、单片机和嵌入式平台的底层思考过程。
坚持原创,厚积薄发、换位思考,以读者的角度来总结文章。每一篇输出,不仅仅是干货的呈现,更是引导你一步一步的深入思考,从底层逻辑来提升自己。
展开
-
利用C语言中的setjmp和longjmp,来实现异常捕获和协程
这是道哥的第 017 篇原创文章目录一、前言二、函数语法介绍1. 最简示例2. 函数说明3. setjmp:保存上下文信息4. longjmp: 实现跳转5. setjmp:返回类型和返回值三、利用 setjmp/longjmp 实现异常捕获四、利用 setjmp/longjmp 实现协程1. 什么是协程2. 线程中的生产者和消费者3. 协程中的生产者和消费者4. C 语言中的协程实现五、总结一、前言在 C 标准库中,有两个威力很猛的函数:setjmp 和 longjmp,不知道各位小伙伴在代码中.原创 2021-02-02 10:55:15 · 996 阅读 · 0 评论 -
C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻
这是道哥的第014篇原创文章目录一、前言二、变量与指针的本质1. 内存地址2. 32位与64位系统3. 变量4. 指针变量5. 操作指针变量5.1 指针变量自身的值5.2 获取指针变量所指向的数据5.3 以什么样的数据类型来使用/解释指针变量所指向的内容三、指针的几个相关概念1. const属性2. void型指针3. 空指针和野指针3.1 空指针:不指向任何东西的指针3.2 野指针:地址已经失效的指针四、指向不同数据类型的指针1. 数值型指针2. 字符串指针3. 指针数组与数组指针3.1 指针数组3..原创 2021-01-17 12:38:09 · 2612 阅读 · 10 评论 -
一步步分析:C语言如何面向对象编程
这是道哥的第009篇原创一、前言在嵌入式开发中,C/C++语言是使用最普及的,在C++11版本之前,它们的语法是比较相似的,只不过C++提供了面向对象的编程方式。虽然C++语言是从C语言发展而来的,但是今天的C++已经不是当年的C语言的扩展了,从2011版本开始,更像是一门全新的语言。那么没有想过,当初为什么要扩展出C++?C语言有什么样的缺点导致C++的产生?C++在这几个问题上的解决的确很好,但是随着语言标准的逐步扩充,C++语言的学习难度也逐渐加大。没有开发过几个项目,都不好意思原创 2020-12-20 17:07:36 · 1202 阅读 · 0 评论 -
【最佳实践】生产者和消费者模式中的双缓冲技术
【这篇文章说了啥】这篇文章主要介绍了在生产者-消费者模式中,生产和消费之间有大量数据需要交互时的一个高效率的解决方案。【问题引入】1. 问题场景在设计模式中,生产者-消费者模式肯定是排在前面位置的,在实际开发过程中,也常常需要使用这个模式。在讲解设计模式的书籍中,只会从抽象的角度对生产者-消费者模式进行讲解。面对实际的编程问题,还需要具体问题具体分析。这里给出一个使用场景,你可以停下来思考一下该如何解决问题:你需要实现一个日志库...原创 2020-12-04 10:56:41 · 1335 阅读 · 1 评论 -
利用C可变参数和宏定义来实现自己的日志系统
【为啥写这篇文章】 在嵌入式应用的开发过程中,日志系统是非常重要的!特别是在生产环节出现了偶发性的、与当前的执行环境相关的bug的时候,如果没有日志系统来追踪问题,很难进行问题重现。 因此,实现一个自己的日志系统是很有帮助、很必要的。在软件模型上,一般是把日志系统编译成库文件。应用程序直接调用库中提供的API接口函数,即可记录日志信息。 那么实现自己的日志系统需要有3个问题需要处理:(1)日志API函数的设计。(2)日志信息的缓存。(3)日志信息的持久化,也就是写入到...原创 2020-12-02 19:51:32 · 1087 阅读 · 0 评论