- 博客(9)
- 收藏
- 关注
原创 视觉扫地机器人简单框架(c语言)
主要方案:1.视觉使用opencv(三方库)2.地图路径(三方库)3.控制使用stm32(串口通讯)4.手机端使用涂鸦智能wifi物联网模块(串口通信)5.框架工具链接:https://pan.baidu.com/s/1lU893ceJ2UazNTOmnqTvrA提取码:zs4h复制这段内容后打开百度网盘手机App,操作更方便哦...
2020-03-17 09:23:24
2546
5
原创 同名函数的一个坑,编译通过,但是运行时出错,库装载问题
最近开发遇到一个特别简单却又是十分难查的一个bug,反正我是查了一天。关于动态库的默认链接装载和使用dlopen装载,区别。我主框架调用同事的一个注册函数,然后传递一个回调(函数指针)给了同事的动态库,本来这是一个很寻常的操作,但是实际操作过程中出现了问题,他在本地声明的同类型函数变量在指针赋值时段错误,你没听错段错误。把一个函数的指针赋值给另一个同类型的函数变量怎么会错?就是这个类型。...
2020-03-17 09:12:13
422
原创 关于tcp,udp,ip协议的另类详解
我又要讲故事了不想听的跳过。。。最近在面试一些I做通信的公司,为啥要面这些企业呢,因为两个原因:第一我是应用工程师想要扩展技术面就得向下,向上发展,向下就是linux的内核和驱动,向上就是网络,我做过一点底层,但是想要深入还需要一点时间,而且由于行业原因底层的开发比较困难。第二个是因为我的网络这块很弱。下面引入正题。协议说明分层说起网络的协议其实我们学习的都是iso的网络七层协议,但是...
2020-02-28 13:29:12
767
原创 并行,串行,流水线,线程和进程傻傻分不清楚
漫谈并行,串行,流水线,线程和进程在说并行串行流水线时,我们先要说一个概念双核四程,四核八程代表什么。双核四程 指处理器中有两个核心, 但是利用了超线程技术,一个核心就有2个线程,所以两个核心就有4个线程。一般来说,两个核心就只有2线程。超线程技术 就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置...
2020-01-19 16:37:42
4966
原创 漫谈消息队列
消息队列今天电话面试,被问及,为什么你框架设计都是用线程创建,不用进程。我说产品比较简单,没必要做那么多。现在想想这样的回答的确肤浅。在聊进程间通讯前,先说下选用进程和线程的规章,进程与线程的选择取决以下几点:1、需要频繁创建销毁的优先使用线程;因为对进程来说创建和销毁一个进程代价是很大的。2、线程的切换速度快,所以在需要大量计算,切换频繁时用线程,还有耗时的操作使用线程可提高应用程序...
2020-01-19 14:04:25
209
原创 lambda表达式的作用
非传统讲解lambda表达式我想学过c++的朋友对lambda表达式都不是很陌生,看着好像很高端,其实就是匿名函数,主要目的是减少函数的封装,优化代码量。lambda的格式:[外部变量访问方式说明符] (参数表) -> 返回值类型 { 语句块 }。外部变量访问方式说明符:“&”:引用访问 ;“=”:赋值关于lambda的使用讲解,请看链接:lambda表达式详解。我在这里主...
2020-01-17 13:56:20
409
原创 指针详解及常见应用
指针详解及常见应用先说下讲解这个专题的原由,这两天一个同事老是跟我抱怨,c的指针太恶心了,指针指来指去的都指懵逼了! 听了他的话,我深深感觉应该把指针好好讲讲。开始前先大体说下什么是指针,这里说的肯定和大部分玩家说的不一样好好理解下大部分玩家肯定会说怎么是指针,指针就是int x=9;int* p=&x;。但是我想说的是指针本质上就是变量,只不过这个变量比较特别,它存的是内存空间(系...
2020-01-13 16:26:38
1349
原创 c++的继承,虚继承,虚函数,继承权限,多态,析构结合案例讲解
c++的继承,虚继承,虚函数,继承权限,多态,析构结合案例讲解一切的提高来自于发现问题,内容比较多,希望耐心读完,读完后会对上述的原理有深入理解。问题的发现最近在学习QT的时候发现了一个问题,QT的模块对象的事件分发是由event()函数完成,而窗体模块都继承自QObject类,在QObject类中,event()成员是virtual修饰的虚函数,并且函数权限是public。而派生类的eve...
2020-01-12 23:01:23
851
原创 ARM汇编指令str,ldr引用地址不为4个字节整数倍出现的问题
ARM汇编指令str,ldr引用地址不为4个字节整数倍出现的问题1.无问题代码 area test, code, readonly code32 entry ;汇编头定义start mov r0, #0x00000000fe ;将0xfe存入寄存器r0 ldr r1, =0x40000000 ; 将0x40000000地址存r1 str r0, [r1] ...
2018-10-30 21:20:42
1926
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人