LC850项目
资料
提交配置环境: dev container :.devcontainer/devcontainer.json提交clone 代码提交脚本位置:0_Misc/mybuild.sh提交完整编译:./0_Misc/mybuild.sh提交清除所有编译:rm -rf buildroot/output/提交编译出来的固件在 IMAGE/提交模块化编译提交方法1 此方法只支持 app/ extern/ 目录提交./build.sh external/deviceio_release/ 先编译模块提交./0_Misc/mybuild.sh 再打包提交方法2 buildroot/package/app2-mqtt-uart/src/app2-mqtt-uart.c提交cd buildroot/output/rockchip_rk3568_uvc/提交make app2-m ...
neovim
下载neovimgithub上点击wiki,选用最新的release版本下载
nvim配置文件使用命令
1: = vim.fn.stdpath('config')
放弃了
mqtt
1、mqtt由来解决问题:1、服务器必须实现的千万客户端的接入。2、单次数据量比较小,但不能出错。3、必须能够是适应高延迟,断网等不可靠风险。4、根据数据的重要程度和特性,设置不同等级的服务质量。(QoS0、QoS1、QoS2三种)5、可以保持长连接。6、低功耗场合不适合。7、建立在tcp上,非常可靠。
1-1、关于第四条做说明
网络基础
下面出现代码均为c语言
1、计算机网络发展
最早的计算机网络是ARPA,但是最早的ARPA无法连接不同类型的计算机和不同的操作系统。
1-1、数据交换
通过标有地址的分组进行路由选择传输数据,使得通信通道仅在传送期间被占用的一种交换方式。
1-2、交换方式•交换的方式为存储转发,节点收到分组,先暂时存储下来,再检查它的头部,然后按照首部中的地址,找到合适的节点转发出去。
1-2-3、特点1、以分组作为传输单位。
2、独立选择转发路由。
3、逐段占用,动态分配传输带宽。
1-3、发展过程•从单个ARPA发展为tcp/ip的ARPAnei的标注协议。
2、英特网的结构2-1、三级结构英特网
•每个国家都有一个主干网,然后层级下发。
2-2、多级英特网
3、TCP/IP协议族3-1、分层结构•由来:主要是为了解决不同计算机之间和不同操作系统直接的差异,就进行分层,只需要保证某些层次是一样的,就可以进行通讯。
•最早的分层体系是osi开放系统互联模型,是由国际化标准组织(iso)指定,由于osi过于复杂,所以到现在也没有使用,而是使用的是TCP/IP协议族 ...
cmake学习
学习自https://subingwen.cn/cmake/CMake-primer/。https://www.bilibili.com/video/BV14s4y1g7Zj/?p=3&spm_id_from=pageDriver&vd_source=a65f19543c0eb665983d7177bd50730e
!!!!!!编译过程中如果需要同时产出静态库和可执行程序或者动态库,一定要一步一步来,不要想着一次性调通,血泪
第一步本次用c++简单测试12345678$ tree结构.├── add.cpp├── div.cpp├── head.h├── main.cpp├── mult.cpp└── sub.cpp
1、 add.cpp1234567#include <stdio.h>#include "head.h"int add(int a, int b){ return a+b;}
2、sub.cpp1234567#include <stdio.h>#include "head.h ...
map
mapstd::map<key_type, value_type> myMap;
注意事项
map的key是唯一的,不能重复。2、注意访问如果不存在会自动创建一个元素。所以尽量是用迭代器访问。(避免map[key]方式)
vector
vector操作方法:sort、remove_if、find、erase等。
c++虚函数
c++虚函数用法:
在析构函数中,最好都加上1234class A {public: virtual ~A() {}}
这样可以避免内存泄漏,在子类释放的时候,父类也会被释放,即使父类有定义实现,父类也可以再次执行。
父类声明使用12345class A { virtual void func() = 0; virtual void func1() = 0;}
这样在子类中必须实现,否则会报错。=0 是纯虚函数,不能有实现。
扩展 override在基类声明过虚函数后,子类实现添加override关键字,这样可以避免子类实现错误。
单例模式
用法:1. 基础线程不安全版本 懒汉12345678910111213141516class Singleton {private: static Singleton* instance; Singleton() {} // 私有构造函数public: static Singleton* getInstance() { if (instance == nullptr) { instance = new Singleton(); } return instance; }};// 静态成员初始化Singleton* Singleton::instance = nullptr;
2. 线程安全版本(C++11及以上) 懒汉123456789101112131415161718192021#include <mutex>class Singleton {private: static Single ...
命令模式
我将为您创建一个命令模式的完整示例。命令模式是一种行为设计模式,它将请求封装成对象,从而使您可以用不同的请求对客户进行参数化。
命令模式示例代码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817 ...








