自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 我的开源项目miniRTSP

概述:产生做这个开源项目的原因,一来是对rtsp协议有浓厚的兴趣,二来是在项目中,使用到live555开源项目的rtspserver,发现其性能有点差强人意,不但代码框架复杂难以理解,且只支持单线程,虽然比较稳定,但在实时性能上,对于有较高要求的用户,难以满足要求。miniRTSP旨在架构简单,多线程,且支持实时流和文件流。...

2020-07-23 22:06:49 727 1

原创 C++ 注释配置记录

cpp/*!* @class %{CurrentDocument:FileName}** @brief * * * @author: myy* @date: %{CurrentDate:yyyy-MM-dd} %{CurrentTime:hh:mm} * @note: 说明*/头文件/*! * @file: %{CurrentDocument:FileName}**

2021-10-14 12:08:45 139

原创 Linux 标准I/O与文件I/O操作一篇就懂了

目录一、概述二、API介绍以及使用例程2.1 什么是标准IO以及文件IO简介2.2 两种I/O的区别2.3 什么是文件描述符2.4 操作API的区别三、标准I/O操作API使用总结3.1 打开文件3.2 读操作3.3 写操作3.4 随机存取3.5 关闭四、文件I/O操作的使用API总结4.1 打开文件4.2 读文件4.3 写文件4.4 随机存取4.5 关闭文件一、概述  本文主要从介绍Linux 标准I/O操作以及文件I/O操作的主要区别以及使用方法,读完本文,即可以掌握两者之间的区别,也会使用他们在L

2021-01-03 20:00:31 623

原创 Linux 多线程编程

目录一、概述二、 多线程的运用2.1 线程的创建2.2 线程属性设置2.2.1 线程绑定2.2.2 线程分离2.2.3 线程数据处理2.3.4 互斥锁2.3.5 信号量2.3.6 条件变量三、 多线程编程总结一、概述本文主要总结Linux 中的多线程编程。为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选 线程?使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在 ux 系统下,启动一个

2020-12-30 23:07:31 240

原创 Linux 网络编程理解总结

一、网络分层模型总结应用层:处理用于程序的逻辑传输层:为两台主机上的应用程序实现端到端的通信网络层:实现数据包的选路和转发数据链路层 :实现网卡接口驱动,处理二进制数据在物理媒介上的传输二、TCP/UDP2.1. 传输层协议主要有TCP和UDP,二者有较大的区别:TCP相对于UDP的特点:面向连接、字节流和可靠传输2.2 TCP连接过程需要三次握手,client 给server 发起连接请求,server 回复client表示同意连接,client再回复server 确认连接。2.3

2020-12-30 21:34:24 144

原创 C面向对象与设计模式(一)

目录一、概述二、C++在类上的实现2.1 什么是this 指针?2.2 面向对象的三大特性三、用C实现面向对象的三大特性3.1 封装3.2 继承3.3 多态四、总结一、概述 在做嵌入式软件开发过程中,当模块越来越多,代码越来越复杂,采用常规的的面向过程方法,容易使得代码混乱。通过合理的运用抽象、封装、继承和多态,更好的组织程序,从而很好地应对这种复杂性。C语言虽然是一门面向过程的语言,但我们知道,面向对象和面向过程是两种编程泛型,是一种解决问题的方法,...

2020-12-08 23:38:03 321

原创 C++知识一篇就够了(二)

一、概述上篇介绍了C++在非面向对象上的扩充,这篇主要介绍其在面向对象方面的基本引用,一说起面向对象,面试官常常问的就是C++的特点是啥?可能我们会张口就来,封装、继承、多态,但不知道具体到底是个啥。什么是类与对象呢,可能教材上比较官方的说法就是:类似现实世界中一类事物的抽象,对象是类的具体化。说白了,就是一类对象可称为一个类,比如:人、动物、树木…都算是类,就“人”这个类来说,张三,李四、王五都是这个类的一个实例化即对象,换句话说类是抽象的一类事物,对象是具体存在的东西…二、基本语法2.1 类与对

2020-12-06 23:21:06 69

原创 C++知识一篇就够了(一)

一、概述之所以想写这篇小记,主要是因为最近有个学妹突然问我一些C++的基础概念,竟一时不知道怎么回答。想想刚毕业时候,这些概念性的东西都是信手拈来,现在工作两年了,反而概念模糊了,瞬间感觉就不好了。工作中虽然一直使用着C++,虽说对于这门语言不能说是精通,但作为一种工具,至少应付工作没出现过什么大问题。但确实很多概念性的东西,慢慢遗忘,有种张三丰问张无忌有没有记住武功的感觉,这么说其实只是想表达一下,妹子,妹子,学长不是个渣渣,只是太厉害了,嘿嘿!开个玩笑,博大精深的C++,作为一名渣渣程序员,我时刻都

2020-12-03 22:12:09 245 1

原创 物联网简易开发框架

一、概述近来因为做了MCU相关的开发,每换一次芯片,即使是相同的业务,也需要重写一次代码,对此,倍感煎熬,于是抽象出了了一个开发框架,以简化移植的难度。见链接:https://blog.csdn.net/daichanzhang9734/article/details/108268241但这种方式仅仅能完成在同一设备上的开发,于是我在此基础上,从新设计了一个框架,Eeasy IOT Development FrameWork(EID)基于此框架,可以简单地将另一个设备的某个模块当做本设备的模块来访.

2020-11-05 14:39:41 667

原创 C格式输入输出总结

概述:每次用到格式输入输出时候总是忘记,需要查询使用,这里简单总结下: 1.  int scanf(const char *format, ...); 2.  int fscanf(FILE *stream, const char *format, ...);//指定输入流 3. int sscanf(const char *str, const char *format, ...);//指定缓存区1. scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,

2020-08-27 23:07:16 148

原创 单片机简易开发框架

在开发MCU相关业务中,觉得功能复用性太差,于是自己搞了Framwork,这样一次开发之后,之后每次换MCU芯片,只需要完成底层适配层的适配,不用修改业务层的东西。架构如下:

2020-08-27 20:36:51 6090 1

原创 C++11 Lambda傻瓜教学

1. 

2020-08-20 16:26:34 198

原创 freeRTOS一次玄学崩溃问题解决

问题描述:在基于freeRTOS的Apollo3 mcu开发过程中,遇到了一个特别奇怪的崩溃问题,通过崩溃时候的堆栈定位到了造成崩溃的原因,是因为调用function1时候,传入的指针是非法的,用的时候指针越界导致奔溃。于是通过堆栈开始分析调用function1的所有task,分别分析入口的参数,即传人的指针,发现都无异常。那function1中那个非法的指针从何而来?继续定位,甚至发现崩溃时候的function1,似乎没有任何task调用,那他为什么会调到function1呢,继续分析调试,发现上一

2020-08-07 08:27:19 1123

原创 github删除错误提交记录导致的下载过慢

概述:我们在提交代码到github 中,有时候因为失误提交了较大的文件,虽然之后删除了,但是在git中仍然会有记录,以保证版本.此时如果在从github下载该仓库的带代码,会比较慢.同时如果我们又不想要之前的所有提交记录,可采用本文所总结的方法:1. 拉去一个新分支用于操作:git checkout --orphan new_branch2. 将所有文件添加到缓冲区git add -A3. 提交代码git commit -am "commit message"4. 删除主分支,并将新分

2020-08-04 23:37:45 173

原创 Linux C++的list的使用总结

一、概述list就是C++封装好的双链表,本文主要是记录其具体的使用方法,包括需要包含的头文件,如何定义,每一个成员函数的使用方法。最后以一个demo来展示如何使用list的方法。要使用list,需要包含#include 二、定义 list<int> b; //创建一个空的list list<int> c(5); ...

2020-04-08 17:49:33 1686

原创 Androd入门,认识程序入口

介绍Android 项目程序的入口在哪里,程序怎么运行的;建立一个项目后,各个文件夹有什么作用以及如何使用等等。以下这篇文章对于入门还不错:https://www.cnblogs.com/mingjiatang/p/5978538.html...

2020-03-24 15:03:34 164

原创 Java与C/C++互相调用

C/C++与java互相调用的方法

2020-03-18 16:21:18 628

原创 tar: 由于前次错误,将以上次的错误状态退出

tar 解压失败tar: tar -zxvf ./jdk-8u221-linux-x64.tar.gz /usr/lib/javaSEtar: 由于前次错误,将以上次的错误状态退出解决方式: tar -zxvf ./jdk-8u221-linux-x64.tar.gz -C /usr/lib/javaSE-C 切换到指定目录 因为不是在当前文件夹解压的,要去别的文件夹解压,所...

2019-08-22 11:47:39 3337

转载 c++接口类实现

欢迎转载,转载请注明原文地址:https://blog.csdn.net/netyeaxi/article/details/80724557C++中如何定义接口类?首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义的抽象类。接口类自身不能实例化,接口类的方法定义/实现只能由接口类的子类来完成。而对于C++,其接口类一般具有以下特征:1.最好不要有成员变量,但可以有静态...

2019-07-01 13:44:24 2531

原创 在vim编辑器使用程序跳转功能方法记录

一、安装ctags在终端输入:sudo apt-get install exuberant-ctags回车后输入密码,即可安装完毕;二、新建tags文件在自己的项目源文件文件夹打开终端,并上执行如下命令:ctags -R .此时可以在文件夹中看到一个ctags文件,即表示程序索引新建完毕,接下来就是如何使用了。三、使用方法打开程序转到定义:Ctrl+]返回:Ctrl+T...

2019-03-27 15:40:20 200

转载 多线程关键函数记录

*1.函数 int pthread_attr_init(pthread_attr_t attr);功能:初始化一个线程属性对象参数:@attr 线程属性结构体指针变量返回值:0 - 成功,非0 – 失败线程属性:线程具有属性,用pthread_attr_t表示,在对该结构进行处理之前必须进行初始化,在使用后需要对其去除初始化。调用pthread_attr_init之后,pthread_...

2019-03-27 11:47:28 125

转载 vector的使用

使用vector,需添加头文件#include,要使用sort或find,则需要添加头文件#include。为了简化书写,需在.h中增加using namespace std;1.vector的初始化及赋值std::vector nVec;     // 空对象std::vector nVec(5,-1);  // 创建了一个包含5个元素且值为-1的vectorstd::vectors...

2019-03-26 11:37:11 162

Windows11,USB虚拟网卡

1. 用于解决Windows11,AMD,虚拟网卡不能使用问题

2022-08-05

AStyle_3.1_windows_taoist.zip

source insight 和vscode 一键代码规范所需插件,带有使用方法

2020-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除