- 博客(11)
- 资源 (10)
- 收藏
- 关注
原创 Ubuntu20.04配置ESP32-IDFV5.1环境及Component工程样例
Ubuntu20.04万字长文配置ESP32且支持components工程样例代码
2023-07-19 20:30:07 559
原创 MySQL索引详解
索引的设计可以遵循一些已有的原则,创建索引的时候请尽量考虑符合这些原则,便于提升索引的使用效率,更高效地使用索引。 搜索的索引列,不一定是所要选择的列。换句话说,最适合索引的列是出现在 WHERE 子句中的列,或连接子句中指定的列,而不是出现在 SELECT 关键字后的选择列表中的列。 使用惟一索引。考虑某列中值的分布。索引的列的基数越大,索引的效果越好。例 如,存放出生日期的列具有不同值,很容易区分各行。而用来记录性别的列,只含有“ M”和“F”,则对此列进行索引没有多大用处,因为不管搜索哪
2020-11-03 10:14:23 165
原创 Ubuntu16.04安装MySQL及其简易C代码实现
一、安装Mysql在Ubuntu16.04sudo apt-get install mysql-serverapt-get install mysql-clientsudo apt-get install libmysqlclient-dev检查安装的正常与否:sudo netstat -tap | grep mysql卸载mysql环境:sudo apt-get autoremove --purge mysql-server sudo apt-get remove mysql-se
2020-10-23 09:39:35 137
原创 C++ 迭代器+RAII机制简易实现
RAII的C++漂亮的回收机制:https://www.jianshu.com/p/3edd59f05174迭代器设计模式:https://blog.csdn.net/CoderAldrich/article/details/83183521参考上述链接字节修改的代码,在VS2017实现:/*@Author:Leonard.Tang@DateTime:2020/10/14*/#include <iostream>using namespace std;.
2020-10-14 14:01:26 123
原创 代码一点就通的B树实现
一、了解什么是B树/B-/B+树B树的定义:其中B-树就是B树,无差别意义。我们一般描述B树时是需要描述他的阶数M,阶数表示了一个结点最多有多少个分叉数量<M阶就是M个分叉数>,当M=2时也就是我们常见的二叉搜索树。所谓的B+树其实就是B树的叶子节点上加上了双向链表的操作。B树/B+树的优势:B树与B+树都是对磁盘友好的数据结构,能大幅降低磁盘访问次数。B树的优点在于数据存储在每个结点中,可以更快访问到,而不必须走到叶子结点,B树更多的用在文件系统中。B+树的每个非叶子结点都只充当索
2020-09-29 17:32:58 258
原创 红黑树的实现
/** RB_Tree.c** Created on: 2020年8月12日* Author: Leonard** 红黑树五大特性:* 1、所有的节点是红色或者黑色* 2、根节点必须是黑色* 3、每个叶子节点都是黑色* 4、每个红色节点的两个子节点都是黑色的* 5、从任一节点到其每个叶子节点的所有路径都包含相同数目的黑节点数量,包括叶子节点<叶子节点也是黑色的>** 注意:其还满足二叉树本身的特性...**///...
2020-09-15 17:06:14 84
原创 2叉树实现及其原理
相信原理在网上很多地方有很详细的讲解,个人转载这篇文章这个链接作为参考,如下所示:2叉树原理详解及其数据遍历源码提供:这里面包含了前中后序的递归实现,也包含了前中序的栈/数组实现。其中网络上很多源码都是有一些小小的瑕疵,运行之后会出现各种各样的问题,这份代码是自己手写的源码,经过测试无误!!!/* * BinTree.c * * Created on: 2020年7月3日 * Author: Leonard */#include <stdio.h>#i
2020-07-04 11:57:08 302
原创 利用共享内存实现多进程交互
一、什么是共享内存? 共享内存(shared memory)是Unix下的多进程之间的通信方法,这种方法通常用于一个程序的多进程间通信,实际上多个程序间也可以通过共享内存来传递信息。共享内存指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。由于多个CPU需要快速访问存储器,这样就要对存储器进行缓存(Cache)。共享内存是存在于内核级别的一种资源,在shel...
2018-02-27 15:41:55 2228 1
原创 linux的内存多种创建方式
一、物理内存的管理Linux对于物理内存的定义有三个方面的概念:内存节点、内存区域和内存页。内存节点:是为了Linux的最大兼容性,将UMA和NUMA结合起来,其中NUMA是多处理器通过链表串联起来。内存区域(zone):考虑到系统的各个模块对分配的物理内存有不同的要求,比如:32位的X86架构下的DMA只能访问16MB的物理内存空间,因此Linux将每个内存节点管理的物理内存
2017-04-10 09:46:09 434
原创 Linux的异步通知字符设备驱动
Fasync字符驱动:1、在我们用户程序下所做的工作:⑴ 注册信号处理函数。通过signal 或sigaction()实现。⑵ 使进程成为该文件的的属主进程。 通过fcntl 的F_SETOWN命令来实现。如fcntl(fd, F_SETOWN, getpid());⑶ 启用异步通知功能。通过fcntl 的F_SETFL命令设置FASYNC标记。2、驱动程序所做的工
2017-01-10 18:32:28 383
原创 Linux 字符设备驱动 LED
驱动:不多说什么,一切尽在代码中!!!!!/****************************************************************You Must Believe You Can Do It.So,You Can Do It Best!Time :2016/12/30*********************************
2016-12-30 15:17:38 257
IPINFO.tgz
2020-06-10
Simple-Cgi.zip
2020-03-23
多进程交互
2018-02-27
USB0.1.12版本例子
2018-01-25
Sqlite3对于2进制数据的操作。
2017-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人