- 博客(36)
- 资源 (1)
- 收藏
- 关注
原创 通用数据结构的实现方法
在项目中或工作需要封装结构体或类来表示不同类型的数据时,可以借鉴。参考lua中的实现 《Lua设计与实现》定义一个字段存储数据类型。
2024-01-09 11:00:55
428
原创 Makefile学习
最基本的赋值方式,与变量在Makefile中的位置无关,变量自动推导为为最终被指定的值:= 覆盖式赋值,只能推导前面的值?= 会判断该变量在前面是否已经定义过,如果没有定义过才赋值+= 追加赋值,自动以空格分隔。
2022-10-29 11:16:19
298
原创 Linux命令总结
一、压缩/解压1、tar -cvf test.tar [文件|目录] 只打包,不压缩选项-c:建立tar包 -v:显示过程信息 -f:必须是最后一个选项,后面紧跟打包文件名2、tar -xvf test.tar 解开tar包选项-x:解包3、压缩格式选项-z:gz格式 -j:bz2格式 -J:xz格式压缩tar -zcvf test.tar.gz [文件|目录]tar -jcvf test.tar.bz2 [文件|目录]tar .........
2021-11-24 16:13:12
4905
2
原创 Shell脚本
目录一、执行方式一、执行方式1、 ./script.sh或./script.sh start 需要添加x权限2 、sh script.sh 不需要x权限,script.sh只是作为一个参数传入,类似python/lua的执行方式以上两种方式都是在子进程bash中执行的,执行完返回当前bash3、source script.sh或. script.sh在当前shell环境中执行,如果希望配置立即生效就用这种方式执行...........................
2021-11-18 17:15:11
2324
1
原创 CMake学习
CMake通过CMakeLists.txt文件描述项目的构建规则,它会根据不同平台生成相应的构建档,比如Windows平台生成.vcxproj项目文件,Linux平台生产Makefile,然后再通过Visual Studio或make这些原生的工具进行编译。这样对于跨平台的项目就不用针对每种平台都写一套构建规则,而是使用统一的语法管理,只写一个CMakeLists.txt文件。CMake可看作是一门脚本语言,很多大型开源项目都在使用它,基本已成为C/C++的标准构建工具。...
2021-11-18 10:54:35
2588
1
原创 QtCreator使用CMake构建项目时jom Error 2问题
QtCreator使用CMake构建项目时jom Error 2问题错误截图出错原因解决方法QtCreator使用MSVC编译环境构建项目时,会因为配置不正确出现jom: C:/…/… [cmTC_fe41e\fast] Error 2错误,这里记录一下我的解决办法和对此问题的理解,希望能帮助遇到同样问题的小伙伴们。错误截图出错原因QtCreator使用CMake构建项目时首先会测试环境配置,如果你用过cmake-gui或命令行通过CMakeLists.txt生成相应的工程文件(vs的.vcxpr
2021-11-02 13:51:42
6756
3
原创 字符编码、QString编码、Qt界面乱码问题总结
文章目录一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 一、术语解释示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterw
2021-04-16 11:46:42
3749
原创 BMP(DIB)图片格式
Windows中有两种位图格式,一种是GDI位图对象,另一种就是设备无关位图DIB,扩展名为BMP。文章内容一、BMP图片格式二、DIB位图的内存表示三、 处理DIB位图的重要API四、自己写的一个练手小项目一、BMP图片格式1、当DIB存储成文件时(即后缀为BMP的图片文件),它的格式如下图:特别说明:1位、4位、8位位图才有Color Table颜色表,像素位表示颜色表数组的索引16位、24位、32位位图是没有Color Table的,像素位直接就是RGB数据不过现在计算机中的位图几乎都
2020-05-26 11:45:11
4806
1
原创 Wave(.wav)文件格式
Wave文件格式主要是用来存储音频PCM数据的,其实也可以存储非PCM音频数据,这种情况我们就不考虑了。文件的扩展名为“.wav”,采用RIFF文件结构。一、RIFF文件格式简介1、RIFF文件是由一个一个的chunk组成的,并且chunk之间可以嵌套。使用小端存储。2、chunk的基本结构如下:struct chunk{ char chunkId[4]; // 4个字符组成的chunk标识,少于4字符右补空格 U32 chunkSize;
2020-05-09 17:53:35
5819
3
原创 Linux内核网络栈
TCP/IP协议分为四层:数据链路层、网络层、传输层、应用层一、网络层1、WAN通常使用众多分级的路由器来连接分散的主机或LAN,因此通信的两台主机一般不是直接相连的,而是通过多个中间节点(路由器)连接的。2、网络层的任务就是选择这些中间节点,以确定两台主机的通信路径。它对上层协议隐藏了这些细节,在上层看来两台主机是直接相连的。二、传输层1、TCP协议:为应用层提供可靠的、面向连接的、基于字节流的...
2018-06-04 23:52:16
393
1
原创 进程管理
一、进程的理解1、每个进程都有一段程序供其执行,即存储在代码段的指令。但是这段指令不一定是某个进程独有的,也有可能和其它进程共享代码段的指令,比如父子进程共享代码段。2、每个进程都有自己的系统堆栈空间。因为一个进程有两种执行状态,即用户态和内核态,当它在内核态执行时,其实就是通过系统调用执行一些内核函数,那么这些内核函数的指令是存储在内核代码段的,被所有进程共享。但是内核函数的执行中也是需要必要的...
2018-06-03 23:12:12
225
原创 内存管理
一、程序的编译链接过程1、预处理主要处理一下几个方面内容:①宏定义 ②文件包含 ③条件编译 ④去掉注释2、编译把源代码转换成相应的汇编语言的过程3、汇编把汇编语言转换成二进制代码,即目标程序4、链接将多个目标程序连同库文件(静态库、动态库)一起整合成一个可执行文件,可以被操作系统载入内存执行。☆☆☆在这个过程有一个重要的过程:产生用来表示操作数或指令的地址逻辑地址 《深入理...
2018-05-29 21:58:24
252
原创 希尔排序
一、算法思路希尔排序是对插入排序的一种改进。它实质上是先将待排序数组分组,然后对每个组进行直接插入排序。选取适当的增量序列,把数组按照给定的步长分为若干组,然后对每个小组进行插入排序,直到增量序列递减为1排序完成。二、代码实现三、性能分析...
2018-05-21 23:29:40
155
原创 插入排序
一、算法思路1、外层循环:i 0 —> N 保证从0至i-1位置上的元素已经是排好序的2、内层循环: j i —> 1 负责找到位置i的元素应该处于0—i-1的哪个位置二、代码实现void InsertSort(int A[], size_t N){ int tmp; for (int i=0; i<N; i++) { tmp = A[...
2018-05-21 21:38:51
215
原创 数据结构—散列表(哈希表)
一、数组和链表的弊端1、对于所有可能的关键字集合U,如果用数组来存储U中的关键字,则需要分配的存储单元至少等于U中关键字的个数。这种方法的弊端很明显,实际中U可能很大,计算机的内存毕竟有限,用数组去存储这么大一个集合不切实际。...
2018-05-21 10:16:27
178
原创 数据结构—红黑树
一、概念红黑树同AVL树一样,都是带有平衡条件的二叉查找树。二、性质1、它的每个节点或者被着为黑色,或者被着为红色2、根节点为黑色3、每个叶子节点都是黑色的(也定Nil节点是黑色的)4、如果一个节点是红色的,那么它的左右儿子必须是黑色的5、从任一节点到它的所有叶子节点的路径上包含数目相同的黑色节点...
2018-05-20 21:59:07
160
原创 数据结构和算法概论
参考书:数据结构与算法——C语言描述数据结构:栈、队列、链表、二叉树、优先队列、BST树、AVL树、B树、红黑树等算法:排序、查找等
2018-05-03 11:43:38
251
原创 数据结构—二叉树
一、基本概念1、什么是树、二叉树、左右子树、(根或叶子)节点就不必赘述了。 注:图片摘自百度百科2、节点的度 : 节点有几棵子树该节点的度就为几。二叉树节点的度为{0, 1, 2}3、节点的深度: 从根到该节点的唯一路径的长。根节点的深度为04、节点的高度: 从该节点到叶节点的最长路径(可能有好几条)的长。叶节点的高度为05、树的高度 : 树的高度就是根节点的高度。二、特殊...
2018-05-02 17:34:48
203
DibProject.rar
2020-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人