- 博客(133)
- 资源 (12)
- 收藏
- 关注
原创 Python中的字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。...
2022-06-03 11:43:49
259
转载 Python中的 class
Python中的 class1. 类的成员1.1. 类的属性1.1.1. 静态属性的创建方式1.1.2. 实例属性1.2. 类的方法2. 类成员的修饰符3. 类的特殊成员4. 类的专有方法:5. 继承5.1. 单继承5.2. 多继承5.3. 方法重写6. 运算符重载1. 类的成员类的成员包括:属性和方法。属性可以分为:静态属性和实例属性方法可以分为:普通方法、类方法和静态方法。#!/usr/bin/python3 class MyClass:
2022-05-28 16:09:29
437
原创 Python中的self用法
Python中的self用法0.1. python 中的类0.2. 类 class 中为啥用使用 self0.3. 在Python中类的定义0.4. def init(self) 方法0.5. 为啥要使用 self0.6. self 到底是什么0.1. python 中的类在Python类中规定,函数的第一个参数是实例对象本身,并且约定俗成,把其名字写为self。其作用相当于java中的this,表示当前类的对象,可以调用当前类中的属性和方法。class是面向对象的设计思想,ins
2022-05-26 20:06:33
3217
1
原创 ffmpeg & opencv_4.5.0 安装
ffmpeg & opencv_4.5.0 安装> 本文采用[知识共享署名 4.0 国际许可协议](http://creativecommons.org/licenses/by/4.0/)进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。1. 编译的原因2. 环境3. ffmpeg3.1. 下载编译3.2. cmake支持4. opencv4.1. toolchain4.2. 下载编译5. Refere
2022-05-09 11:55:18
1123
原创 ubuntu20.04 java 开发环境搭建及 JNI 使用
java开发环境搭建及JNI使用本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。1. VSCODE 插件2. ubuntu20.04安装Java3. java 编译4. JNI4.1. JAVA调用C++4.2. 生成 头文件 com_huhu_test_JNIDemo4.3. 实现 com_huhu_test_JNIDemo4.4. 编译 com_huhu_test_JNIDemo
2022-04-20 10:37:26
2270
转载 shared_ptr和动态数组
shared_ptr和动态数组转载自 shared_ptr和动态数组std::shared_ptr智能指针是c++11一个相当重要的特性,可以极大地将开发者从资源申请/释放的繁重劳动中解放出来。然而直到c++17前std::shared_ptr都有一个严重的限制,那就是它并不支持动态数组:#include <memory>std::shared_ptr<int[]> sp1(new int[10]()); // 错误,c++17前不能传递数组类型作为shared_ptr
2022-02-10 12:09:12
2460
原创 HTTPS 实现
HTTPS 实现HTTPS 介绍HTTPS 简史HTTPS 工作流程搭建https服务首先确认安装OpenSSL自建CA创建服务器公私钥使用 CA key 对服务器证书签名搭建https工程参考HTTPS 介绍HTTPS 简史在早期HTTP诞生的这几年间,1990年~·1994年,HTTP作为一个应用层协议,它是这样工作的:后来网景公司开发了SSL(Secure Sockets Layer)技术,然后它就变成了这样的HTTP,也就是HTTPS了:后来爆发
2021-12-29 20:42:22
2181
原创 开源软件:buttonrpc (C++语法分析)
开源软件:buttonrpc (C++语法分析)本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。C++ 语法分析templatetypenamestd::bindstd::is_same<R, void>::valuestd::enable_ifstd::decaystd::reverse和std::reverse_copy可变参数模板消除冗余代码C++ 语法
2021-12-24 18:38:13
663
原创 开源软件:ThreadPool C++ 线程池
开源软件:ThreadPool C++ 线程池本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。源码及编译使用源码地址:ThreadPool源码及编译cmake 文件 : ThreadPool编译mkdir buildcd buildcmake ..make 运行:./example源码分析std::futurefuturestd::future类模板定义头文件,其函数声明如
2021-12-24 18:37:35
1571
原创 NFS:Network File System(网络文件系统)
NFS:Network File System(网络文件系统)本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。什么是NFSNetwork File SystemSUN RPC 基本原理NFS过程NFS客户端和NFS服务端通讯过程NFS服务的优缺点Ubuntu主机的NFS共享文件夹nfs server 安装nfs client 安装/etc/exports 参数mount
2021-10-17 22:26:24
1019
原创 c++ 函数后的关键字
c++ 函数后的关键字C++函数后面加const关键字C++函数后面加throw关键字C++11引入的关键字=default、=delete、override、final=default=deleteoverrideC++函数后面加const关键字非静态成员函数后面加const(加到非成员函数或静态成员后面会产生编译错误),表示成员函数隐含传入的this指针为const指针,决定了在该成员函数中,任意修改它所在的类的成员的操作都是不允许的(因为隐含了对this指针的const
2021-10-16 22:29:24
572
原创 HTTP 协议
HTTP 协议1. HTTP 简介1.1. HTTP 工作原理2. HTTP 请求方法3. HTTP 响应头信息4. HTTP状态码4.1. HTTP状态码分类5. HTTP content-type5.1. HTTP content-type 对照表1. HTTP 简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。
2021-10-04 18:04:26
328
原创 设计模式之美笔记三
设计模式之美笔记三 本文极客时间课程设计模式之美的个人阅读笔记,有不尽详细之处请抱歉,文未可以订阅极客时间该课程。多用组合少用继承贫血模型接口鉴权如何进行面向对象设计UML多用组合少用继承继承层次过深、过复杂,也会影响到代码的可维护性。最小知识原则(Least Knowledge Principle,也叫最少知识原则或者迪米特法则),暴露不该暴露的接口给外部,增加了类使用过程中被误用的概率。组合(composition)、接口、委托(delegation)一些设计模.
2021-08-24 15:29:16
139
原创 设计模式之美笔记二
设计模式之美笔记二 本文极客时间课程设计模式之美的个人阅读笔记,有不尽详细之处请抱歉,文未可以订阅极客时间该课程。OOP 优势哪些代码设计看似是面向对象,实际是面向过程的?滥用 getter、setter 方法滥用全局变量和全局方法定义数据和方法分离的类接口vs抽象类如何决定该用抽象类还是接口?为什么基于接口而非实现编程?有必要为每个类都定义接口吗?OOP 优势OOP 更加能够应对大规模复杂程序的开发OOP 风格的代码更易复用、易扩展、易维护OOP 语言.
2021-08-24 10:45:05
172
原创 设计模式之美笔记一
设计模式之美笔记一 本文极客时间课程设计模式之美的个人阅读笔记,有不尽详细之处请抱歉,文未可以订阅极客时间该课程。什么是面向对象封装、抽象、继承、多态分别可以解决哪些编程问题?封装(Encapsulation)抽象(Abstraction)继承(Inheritance)多态(Polymorphism)多态特性存在的意义是什么?它能解决什么编程问题?设计模式之美什么是面向对象OOP:Object Oriented Programming 面向对象编程OOPL:.
2021-08-23 17:33:19
144
原创 下载工具:aria2c
下载工具:aria2c本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。简介安装配置使用服务模式开机启动简介Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的带宽。Aria2 有着非常小的资源占用,在关闭磁盘缓存的情况下,物理内存占用通常为 4M(正常 HT
2021-07-31 22:38:36
2241
原创 CMake交叉编译配置
CMake交叉编译配置本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。几个重要的变量使用变量来控制编译步骤demoCMake给交叉编译预留了一个很好的变量即CMAKE_TOOLCHAIN_FILE,它定义了一个文件的路径,这个文件即toolChain,里面set了一系列你需要改变的变量和属性,包括C_COMPILER,CXX_COMPILER,如果用Qt的话需要更改QT_QMAKE_EXE
2021-07-30 18:08:52
906
原创 cmake 知识整理
cmake 知识整理本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。CMakeCMake中常用预定义变量CMake的预定义变量系统信息预定义变量开关选项常用语法CMAKE_MINIMUM_REQUIREDPROJECT外部构建与内部构建SETADD_SUBDIRECTORYINCLUDE_DIRECTORIESADD_EXECUTABLEADD_LIBRARY
2021-07-29 16:31:24
177
原创 ubuntu 18.04 安装 ROS Melodic
ubuntu 18.04 安装 ROS Melodic 本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。资料ubuntu 18.04 安装ROS设置安装源添加秘钥安装ROS更新列表依赖库安装ROS Melodic安装特定的ROS程序包安装核心组件rosdep配置ROS环境变量安装rosinstall学习ROS源码资料ros小课堂ROS机器人操作系统gith
2021-07-28 11:16:03
520
原创 ARMv8 架构编程探索
ARMv8 架构编程探索 整理自ARMv8 架构编程探索,感谢原作者分享。ARMv8-A 架构基础执行状态与异常级别ARMv8 寄存器组通用寄存器组特殊功能寄存器组NEON 与浮点寄存器标量寄存器大小向量寄存器大小NEON 在 AArch32 运行模式下ARMv8 指令集A64 指令集内存管理单元基于分页的虚拟内存虚拟地址的翻译过程安全与非安全地址Memory Ordering内存类型屏障指令内存属性安全系统Trust
2021-07-27 20:04:37
502
原创 AI 芯片 XPU
AI 芯片 XPU本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。baseAI芯片XPUbaseARM:英国公司,专门提供微处理器IP核授权。ceva:美国公司,提供DSP IP授权。ceva相当于是dsp领域的arm。DSP(digital singnal processor): 是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。DSP芯片一般具有如下主要
2021-07-21 22:36:24
311
原创 rv1126 camera调试常用命令
rv1126 camera调试常用命令本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。查看图像数据的端点信息查看系统当前DRM情况media-ctl反编译 dtb 文件查看图像数据的端点信息grep '' /sys/class/video4linux/video*/nameISP:rkisp_mainpath:视频输出rkisp_selfpath:视频输出rkisp-sta
2021-07-21 18:27:42
5087
原创 git 常见问题
git 常见问题本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。git 缓存清理(解决ignore不生效问题).git 文件夹过大出现原因删除历史操作脚本操作git 缓存清理(解决ignore不生效问题)明明.ignore文件中标明了忽略,提交时还是有这些文件?.ignore文件可以按照其注明的规则让git忽略文件,但是有时候,有部分我们不想让git管理的文件已经被git管理
2021-07-21 12:44:11
139
原创 使用 gdb 调试
使用 gdb 调试本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。GDB 概述调试示例使用GDB编译程序启动GDB的方法常用指令查看代码断点设置设置断点查看断点删除断点:禁用与启用断点断点命令列表调试启动查看栈帧输出当前值浏览以前的GDB命令运行参考GDB 概述GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许.
2021-07-21 12:34:21
556
原创 常用的C++ 新特性(一)
常用的C++ 新特性(一)本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。原始字面量指针空值类型 - nullptrconstexpr修饰函数修饰模板函数修饰构造函数auto推导规则auto 的限制decltype“=default” 、“=delete”编译器默认为一个类生成的默认函数=delete= defaule参考原始字面量在 C++11
2021-07-18 16:25:16
196
2
原创 BeagleBone black 镜像制作
BeagleBone black 镜像制作本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。beaglebone black启动方式BeagleBone 启动准备Linux镜像安装交叉编译器下载并编译uboot下载编译linux内核下载文件系统rootfsDebian8ubuntu16.04烧录Linux镜像到SD卡中准备烧写sd卡安装固件安装u-boot
2021-07-18 14:09:37
708
原创 minicom 的使用
minicom 的使用本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。简介Minicoms使用安装相关配置更多Ctrl+A自动保存log退出软件其他问题配置串口权限方式一:使用命令更改方式二:配置udev规则(推荐)配置默认文件使用自动脚本简介minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如调试交换机和.
2021-07-18 01:54:41
4728
1
原创 RK3399 Thermal (温度控制)
RK3399 Thermal (温度控制)本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。Thermal 是什么配置⽅法Menuconfig配置Tsadc配置CPU & GPU配置Termal zone 配置⽤⼾态接口常用设置获取当前温度关闭温度控制功能参考Thermal 是什么Thermal是内核开发者定义的⼀套⽀持根据指定governor控制系统温
2021-07-15 20:31:07
6372
2
原创 ARMv7-A ARMv8-A ARMv9-A 架构
ARMv7-A ARMv8-A ARMv9-A 架构 本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。ARMv7-A 构架Cortex-A17Cortex-A15Cortex-A9Cortex-A8Cortex-A7Cortex-A5ARMv8-A构架Cortex-A32Cortex-A35Cortex-A53Cortex-A57Cortex-A72Cortex-
2021-07-15 20:00:19
1521
原创 rv1126rv1109开发环境搭建
rv1126rv1109开发环境搭建本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。开发环境搭建搭建编译环境编译编译问题部分buildroot 修改(非必要)修改HOSTNAME其他修改开发环境搭建FTP 下载 RV1126/RV1109 Linux SDK搭建编译环境sudo apt-get install repo git-core gitk git-g
2021-07-10 22:43:14
6207
10
原创 rv1126rv1109 对比
rv1126rv1109 对比本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。RV1126/RV1109 对比RV1126/RV1109 是瑞芯微 一款用于工控机或人工智能视觉应用的高性能机器视觉处理器SoC。RV1126/RV1109 对比RV1126RV1109CPU四核 ARM Cortex-A7 RISC-V MCU双核 ARM Cortex-A7 RIS
2021-07-10 22:39:47
1622
原创 CPU 上下文切换
CPU 上下文切换本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。进程上下文切换什么时候会切换进程系统调用线程上下文切换中断上下文切换上下文切换分析上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程或线程切换到另一个进程或线程。CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器(Program Counter,PC))保
2021-07-10 17:30:01
117
原创 ffmpeg
ffmpeg> 本文采用[知识共享署名 4.0 国际许可协议](http://creativecommons.org/licenses/by/4.0/)进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。安装测试应用ffmpeg 使用ffmpeg 常用脚本H264 转 PNG/jpgPNG/jpg 转 MP4按帧数剪切视频按赛时间剪切视频视频转换提取视频视频和合成修改帧率提取音频码率控制安装安装
2021-07-10 16:24:16
283
原创 内存管理:内存泄漏分析
内存管理:内存占用查看本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。内存泄漏Valgrind编译valgrind使用valgrindvalgrind 输出分析参考内存泄漏在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而
2021-07-10 15:42:42
1104
1
原创 内存管理:内存占用查看
内存管理:内存占用查看本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。内存使用查看设备内存查看进程内存查看OOM(Out Of Memory Killer)/proc/sys/vm//proc/meminfo内存使用查看设备内存查看cat /proc/meminfotoybrick@debian10:~/Rockchip/zyh/aarch64-rk3399pro-li
2021-07-10 15:41:12
1043
1
原创 Opencv Mat详解
Mat成员变量Mat 通道理解通道图像类型的转换与显示通道的合成与分解创建一个MatScalarcv::Mat::onescv::Mat::zeroscv::Mat::eyeMat类中数据部分组成参考MatThe class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It can be used to store real or ..
2021-07-09 12:42:11
2259
2
原创 linux 常用命令全拼
pwdprint work directory打印当前目录 显示出当前工作目录的绝对路径psprocess status进程状态,类似于windows的任务管理器,常用参数 -auxf ps -auxf 显示进程状态dfdisk free其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。duDisk usage用于显示目录或文件的大小rpmRedHat Package Manage...
2021-07-07 11:57:53
170
原创 More Effective Cplus
基础议题运算符异常效率技巧杂项基础议题区分指针和引用优先考虑C++风格的类型转换决不要把多态用于数组避免不必要的默认构造函数运算符小心用户自定义的转换函数区分自增运算符和自减运算符的前缀形式与后缀形式不要重载"&&"||“和”,"理解new和delete在不同情形下的含义异常使用析构函数防止资源泄漏防止构造函数里的资源泄漏阻止异常传递到析构函数以外理解抛出异常与传递参数或者调用虚函数之间的不同通过引用捕获异常审慎地使用异常规格理..
2021-07-06 13:41:21
67
原创 Effective Modern Cplus
类型推导auto移步现代C++智能指针右值引用,移动语意,完美转发Lambda表达式并发API微调类型推导理解模板类型推导理解auto类型推导理解decltype学会查看类型推导结果auto优先考虑auto而非显式类型声明auto推导若非己愿,使用显式类型初始化惯用法移步现代C++区别使用()和{}创建对象优先考虑nullptr而非0和NULL优先考虑别名声明而非typedefs优先考虑限域枚举而非未限域枚举优先考虑使用delete而非使用未定义的..
2021-07-06 13:40:10
93
OLED 接口演示例程(MSP430Game553系列)
2015-09-02
智能门禁系统设计
2015-09-02
步进电机转速数码管显示
2013-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人