
C/C++
文章平均质量分 92
羽林均
这个作者很懒,什么都没留下…
展开
-
c++ 子类构造函数初始化及父类构造初始化
我们知道,构造方法是用来初始化类对象的。如果在类中没有显式地声明构造函数,那么编译器会自动创建一个默认的构造函数;并且这个默认的构造函数仅仅在没有显式地声明构造函数的情况下才会被创建创建。转载 2023-02-16 20:23:35 · 1407 阅读 · 0 评论 -
一文让你搞懂设计模式
大型系统开发设计模式很重要,工作也会经常用到一些模式,这篇文章总结的比较齐全,对于我们认识设计模式有很多帮助。转载 2022-11-03 20:44:29 · 274 阅读 · 0 评论 -
最全常用 C++ 框架、库和资源汇总
最全常用 C++ 框架、库和资源汇总转载 2022-10-24 20:23:23 · 3770 阅读 · 1 评论 -
分享自己平时使用的socket多客户端通信的代码技术点和软件使用
今天想分享一些socket编程的例子,socket嵌入式。linux开发很常用,用于进程间通信很方便,也有很多介绍,今天我也也来做自己的介绍分享。和别人不一样的地方,我主要想分享socket 服务端在linux写的代码,使用vscode调试执行,并且同时分享自己使用tcp监控软件去判断socket通信正确性。...原创 2022-06-25 13:06:36 · 1001 阅读 · 0 评论 -
(Bezier)贝塞尔曲线在路径规划的运用
之前被安排了活,一个局部区域机器运动控制的工作,大致是一个机器位于一个极限区域时候,机器要进入一个特殊的机制,使得机器可以安全的走出来。其中用到了bezier曲线进行优化路径,今天写一下,正好也给大家分享一下工作和实践的情况。原创 2022-05-08 21:26:32 · 3247 阅读 · 0 评论 -
Linux 中用c++实现线程绑定CPU
# 前言嵌入式里面我们会使用到多核的cpu,随着产品芯片性能提升,我们也会有很多功能,以及很多进程产生运行,这个时候我们在任务调度调优的时候,把一些进程绑定到固定cpu运行,下面就来分享一下cpu绑定运行的过程:首先运行的环境需要多核,大家可以按照下面命令进行查询对应设备的cpu数量原创 2022-03-22 00:02:06 · 5726 阅读 · 9 评论 -
喵哥讲了pimpl模式之后的再补充
前言:之前看到喵哥在知乎上回答了一个设计模式的问题,其中介绍了pimpl模式(Private Implementation,顾名思义,将实现私有化,力图使得头文件对改变不透明)。”这个和qt里面的d-pointer用法应该是一致的“,我也给喵哥做了个小回复。这是喵哥问题的截图:下面我也来分享一下自己平时使用的d-pointer用法。作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me喵哥的回答介绍// MyClass.hclass My.原创 2022-03-03 20:49:38 · 336 阅读 · 0 评论 -
opencv安装实录附十几行C++实现的一个人脸识别demo
前言:之前写过一篇在nano上使用opencv,nano上默认是安装了opencv的库,除了nano,我们自己电脑上也想使用opencv做一些平时图像处理验证。本来也是看一些资料安装好的,觉得也没必要写。但是实际安装还是出现了不少问题,所以记录分享一下。环境:系统为ubuntu20.04cv版本为 4.5作者:良知犹存原创 2022-02-22 21:28:57 · 3966 阅读 · 0 评论 -
乐动ld06激光雷达sdk改bug记录分享
工作中,有使用过乐动ld06款激光雷达,此款雷达将常规雷达的转动的电机部分内置于自己的保护罩内,减少了雷达本身转动积灰等其他外界影响,探测半径是12m,是一款不错的雷达。不过今天的主要内容不是介绍该雷达的性能,而是分享我在使用该雷达过程中,在进行项目开发中,发现一个在官方SDK中隐藏的问题,这个问题,在使用过程中,导致了进程的崩溃。原创 2022-02-10 20:59:01 · 1836 阅读 · 3 评论 -
jetson-nano opencv基础使用
前言:jetson nano前一篇给大家介绍了学习的一些思路和资料,今天继续给大家分享一篇在jetson nano使用opencv的文章。OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。在视觉处理中,opencv使用是基础的部分,所以在板卡使用过程中,opecv使用是.原创 2022-01-24 10:22:40 · 7771 阅读 · 2 评论 -
c++中map、multimap、unordered_map、unordered_multimap的区别
前言:c++的各种容器使用的时候很方便,但是如果作为一个初学者,看到一堆库要记住也是很头疼的,而且很多库名称会很相似,所以我们要很好的使用这些库的时候,我们需要了解清楚它们底层实现的原理,这样我们使用中就更加得心应手。今天给大家分享一下map、multimap、unordered_map、unordered_multimap,看上去是不是很相似,今天就来描述几者的区别。作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me几种容器的初步介绍:ma.原创 2021-12-20 23:17:51 · 2755 阅读 · 0 评论 -
c/c++和lua的交互使用分享
前言:嵌入式开发过程中,我们会使用一些脚本工具辅助我们的工作,例如shel或者python、lua等,今天给大家分享一下,我在工作中用到的lua脚本交互使用。作者:良知犹存转载授权以及围观:欢迎关注微信公众号:羽林君或者添加作者个人微信:become_me情节介绍:工作中, 因为我们的传感器需要出厂标定,所以我们需要有一个配置文件进行保存我们的传感器参数,这个文件支持读取和修改,实现这个功能有很多种方式,常规就是使用一个普通文件进行读写。但是我考虑到,我们数据的复杂性,以及文件注释的描述,.原创 2021-12-12 22:58:58 · 3357 阅读 · 0 评论 -
Linux开发coredump文件分析实战分享
前言:coredump 分析是嵌入式linux开发中经常使用的方法,我们也可以经常看到相关的使用教程,但是网上很少有一个多线程应用coredump文件的分析过程介绍,今天我来分享一下自己实...原创 2021-10-07 11:52:41 · 5851 阅读 · 1 评论 -
hk32(航顺)标准库使用spi3复用功能的问题
前言:今天给大家介绍一下自己在使用航顺32芯片中遇到的一些问题。我用的是航顺的HK32f103VET6的一颗芯片,其中使用其中SPI3外设复用功能时,发现对应官方库的宏定义有些错误。遂给大...原创 2021-10-05 16:28:11 · 889 阅读 · 0 评论 -
stm32-HAL使用stop模式后DMA初始化的问题
前言:stm32是嵌入式MCU开发中最多应用的芯片,很早之前我们开发ST芯一般都是标准库开发,标准库简洁好读,现在要配合CubeMX生成代码,所以官方主推HAL库和LL库,但是HAL代码冗...原创 2021-10-03 23:57:19 · 2150 阅读 · 2 评论 -
stm32-HAL使用usart发送中断判断发送库的一个问题
前言:stm32是嵌入式MCU开发中最多应用的芯片,很早之前我们开发ST芯一般都是标准库开发,标准库简洁好读,现在要配合CubeMX生成代码,所以官方主推HAL库和LL库,但是HAL代码冗...原创 2021-10-03 23:57:19 · 1609 阅读 · 0 评论 -
别被vector最后一个元素erase错误
前言:vector我们经常使用,对vector里面的基本函数构造函数、增加函数、删除函数、遍历函数我们也会用到。其中在使用遍历之后erase删除元素过程中,会出现一种删除最后一个元素破坏了...原创 2021-08-26 08:30:00 · 1926 阅读 · 0 评论 -
C++友元的概念和使用的一些介绍
前言:在C++中,我们使用类对数据进行了隐藏和封装,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,有时需要定义一些函数,这些函数不是类的一...原创 2021-06-14 20:32:58 · 335 阅读 · 1 评论 -
代码操作中经常使用到设计模式之单例模式
前言:应一位朋友之邀继续分享一下设计模式,关于设计模式的基本介绍在上一篇文章已经有所描述,这篇就不多做赘述。今天给大家介绍一下设计模式的里面的入门篇——单例模式。学习这些模式有助于经验不足...原创 2021-06-13 22:09:34 · 254 阅读 · 0 评论 -
C++解析一些特殊符号tab、换行符号
前言:我们经常会遇到一些Linux内核信息需要,比如一个wifi数据,中间是用tab键盘隔开的,然后每一行用换行符进行区分,如下所示的数据第一位置是:wifi名称 第二个位置是:信号强度 ...原创 2021-05-11 22:05:27 · 3675 阅读 · 0 评论 -
C语言0数组/柔性数组使用介绍
前言:上次看到一篇面试分享,里面有个朋友说,面试官问了char[0] 相关问题,但是自己没有遇到过,就绕过了这个问题。我自己在这篇文章下面做了一些回复。现在我想结合我自己的理解,解释一下这...原创 2021-05-09 21:24:41 · 1607 阅读 · 0 评论 -
简单工厂模式、工厂模式、抽象工厂模式
前言:设计模式已经经历了很长一段时间的发展,它们提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。一般我们会说设计模式一共有23种,总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、.原创 2021-03-06 19:27:32 · 471 阅读 · 0 评论 -
C++typename的由来和用法
前言 在C++模板函数的使用过程中,我们经常可以看到一个typename的使用,例如这样的操作但是除此之外,我们也会经常看到这样的用法那么这里就要问大家,这C++类似的用法下有什么区...原创 2020-12-05 18:15:54 · 25720 阅读 · 9 评论 -
C++的转换手段并与explicit关键词配合使用
前言 C中我们会进行各种类型的强制转化,而在C中我们经常可以看到这种转换memset(OTA_FLAG_ADDRESS,(uint8_t*)&OTA_Flag,size...原创 2020-11-29 23:56:54 · 256 阅读 · 1 评论 -
C++的智能指针你了解吗?
前言 C中我们会进行malloc一块内存,然后free掉。但是经常会遇到我们忘记写free,导致内存溢出,C++也有类似的情况,为了解决掉我们忘记释放内存的习惯,C++引入了几种智...原创 2020-11-13 23:18:45 · 356 阅读 · 0 评论 -
什么?还不懂c++vector的用法,你凭什么勇气来的!
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:羽林君前言 今天继续肝C++,一入C++深似海。越学越有意思。今天给大家带来一篇c++vector的介绍,难以置信这篇文章写了我...原创 2020-11-10 08:11:00 · 595 阅读 · 0 评论 -
C++多元组tuple使用方法?你熟悉吗?快来看看吧
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:羽林君今天文末有礼物奉送哈,欢迎大家领取~前言 tuple 是类似于pair的模板。每个pair的成员类型都不相同,但每个pai...原创 2020-11-04 08:02:00 · 1219 阅读 · 0 评论 -
你用过宏##粘贴函数,然后用函数指针查找执行吗?今天就给你说道说道
总述宏的使用,大家经常会用,但是一般只是简单定义一个符号常量,类似于#define WHEEL_SCALE_MM0.53f、#define LOG_I(tag, text_fmt, ...) log_i(tag, text_fmt, ##__VA_ARGS__),但是除此之外还有宏还有个##粘贴作用,可以配合#define这个常量表达式,可以做成一个宏定义指针函数列表,继而查询执行函数。话不多说,我们开始今天的分享,首先还是会进行一下常规的描述,再分享"##"粘贴的妙用。...原创 2020-10-27 08:59:21 · 438 阅读 · 0 评论 -
c++nullptr(空指针常量)、constexpr(常量表达式)
总述 又来更新了,今天带来的是nullptr空指针常量、constexpr(常量表达式)C++的两个用法。Result result_fun =nullptr;constexprstatic uint32_t try_times = 100;这是两个在工作中常用的C++操作,但是你知道nullptr和constexpr由来以及它们的更多用法吗?下面听我一一道来。作者:良知犹存转载授权以及围观:欢迎添加微信公众号:羽林君一、nullptr...原创 2020-10-24 21:36:37 · 861 阅读 · 0 评论 -
c++bind函数使用
点击“蓝字”关注我吧总述最近写代码的时候看到代码使用了bind,一个参数绑定的标准库函数。程序是这么写的,speaker_play_routine_=newboost::...原创 2020-10-22 23:26:37 · 3783 阅读 · 0 评论 -
C++的匿名函数(lambda表达式)
总述C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式). 它是定义和使用匿名函数对象的一种简便的方式。匿名函数是我们需要用到的一个函数,但是又不想去费力命名一个函数的场景。我们无需为每个值或者每种类型)单独编写函数,更不必把值保存在让人厌倦的全局变量中 。利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。工作的时候这个是比较常用的,通过匿名函数进行函数内部变量的捕获,继而进行操作变量等。那么现在就由我来给大家分享...原创 2020-09-23 22:40:15 · 15192 阅读 · 3 评论 -
C++隐式推导-auto关键词
总述C++中有一个关键字,它不进行显式声明,而进行隐式推导,auto可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型。C++语言类似的关键字还有decltype。如何评价 C++ 11 auto 关键字?既然auto关键字可以用来做类型推断,使得C++在使用auto时更像是在用动态类型语言。既然auto能帮我们偷很多懒,那平时写C++还有必要像之前一样显式声明类型吗?最佳实践是如何,应当彻底改变之前的C++习惯尽可能大量地使用auto,还是在什么样的特定的情形下才使用auto原创 2020-09-19 09:19:50 · 1616 阅读 · 4 评论 -
解析一下C++的异常处理
作者:良知犹存转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN总述 在程序运行过程中经常会碰到一些问题,例如数组下标越界,除数为零等,这些错误不过能被发现处理,则我们的代码很有可能会导致程序崩溃。所以我们一般会针对可能导致程序崩溃的错误进行预测,C与C++都可以做。但是C的判断代码要和相关函数执行的位置紧邻,甚至要紧密的耦合。而C++引入了错误处理机制,使得执行程序与错误检测的代码可以分离开,这样我们就可以安心的在单独的写代码,多次调用某个函数...原创 2020-05-14 23:57:52 · 413 阅读 · 0 评论 -
MDK中用C++开发STM32
点击“蓝字”关注我吧作者:良知犹存转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN前言 最近想开发一段单片机的代码,代码本身有很多的重复元素,这重复定义的一些结构体使用起来有些繁琐,所以就想用C++开发,C++的继承 模板类可以很容易的解决这些问题。因为在单片机运行,习惯用MDK或者IAR这些软件。但是这些软件都是默认C开发的,用C++开发需要重...原创 2020-05-07 09:03:18 · 6172 阅读 · 2 评论 -
C++模板的介绍
作者:良知犹存转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN1.模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。C++模板的作用,类似于C中的typedef,不过C++中模板有更多的灵活性。C++模板类型,类似于Objective-C中的泛型。C++通过类模板来实现泛型支持。2.C++中有两种模板,分别是函数...原创 2020-04-24 09:07:51 · 692 阅读 · 0 评论 -
搞懂C++抽象类
作者:良知犹存转载授权以及围观:欢迎添加微信:Allen-Iverson-me-LYN抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成...原创 2020-04-16 23:44:06 · 2947 阅读 · 0 评论 -
搞懂C++的虚拟继承(升级)
作者:良知犹存转载授权以及围观->欢迎添加Wx:Allen-Iverson-me-LYN前言:本文为C++使用过程中的一些细节知识补充,碎片化的知识.其中有韦东山老师和其他博主一些知识笔记,在此谢谢韦老师以及各博主的文章博客,受益良多.一、多重定义会使程序进行基类调用,用virtual定义基类的程序函数,然后派生类(子类)进行虚拟函数继承调用,...原创 2020-04-12 21:43:09 · 268 阅读 · 0 评论 -
C++的虚拟继承(基础)
作者:良知犹存转载授权以及围观->欢迎添加Wx:Allen-Iverson-me-LYN前言:本文为C++使用过程中的一些细节知识补充,碎片化的知识.其中有韦东山老师和其他博主一些知识笔记,在此谢谢韦老师以及各博主的文章博客,受益良多.一、基类成员在派生类中的访问控制属性:首先派生类是C++中引入派生类,是为了解决重复代码的问题,通过使用派生类,程序员只需要...原创 2020-04-12 00:08:43 · 1012 阅读 · 0 评论 -
C/C++函数与变量前面的标识符的作用
作者:良知犹存转载授权以及围观->欢迎添加Wx:Allen-Iverson-me-LYN缅怀逝者,向英雄致敬。愿山河无恙,国泰民安。在用C/C++写代码的时候我们经常会使用一些标识符,置于函数或者变量之前,这些标识符有些是限制函数或者变量的使用,有些是提高函数的执行效率,有些则是特殊函数的标志,下面我们来进行介绍。标识符有很多,此处仅介绍常用的标识符,很多知...原创 2020-04-06 14:21:30 · 1805 阅读 · 0 评论 -
结构体、联合体的成员内存对齐的情况
作者:良知犹存转载授权以及围观->欢迎添加WxId:Allen-Iverson-me-LYN 最近项目进行中,遇到一个小问题,在数据协议传输过程中,我为了方便解析,就定义了一个结构体,在数据的指针传入函数的时候,我用定义好的结构体进行强制转化,没想到一直解析失败,调试很久,终于反应过来,在用结构体指针对数据强制转换时,定义结构体我没有注意到数据对齐,因为在底层实现中,我传...原创 2020-03-22 00:55:15 · 425 阅读 · 0 评论