自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 hzk16 与 asc16字库使用

最近项目中想要在视频中添加OSD ,用来显示时间和产品水印,所以记录下怎么使用字库关于字库中 汉字怎么提取相关资料可以参考HZK16 和 ASC16字库用法而如果要直接查看 GB2312简体中文编码表的话在这里:GB2312简体中文编码表字库使用很简单,看完上面的链接就已经可以了,这里直接给出代码了注意! 在编写代码时候,需要把代码文件格式改为 GB2312注意! 在编写代码时候,需要把代码文件格式改为 GB2312注意! 在编写代码时候,需要把代码文件格式改为 GB2312因为 如果在

2020-06-16 16:47:40 3092

原创 策略模式-C++

#include <iostream>using namespace std;//抽象的策略类class Strategy{protected: Strategy(){ };public: virtual void StrategyInterface() = 0; virtual ~Strategy(){ };};//具体维护策略类class Contex...

2020-04-26 15:14:36 156

原创 观察者模式的 C语言实现

#include <stdlib.h>#include <stdio.h>#include <assert.h>#include <string.h>#define MAX_OBSERVER (10)#define NAME_SIZE (10)// =================链表数据结构===============t...

2020-04-26 15:12:45 559

原创 几种排序分享--快速排序

快速排序(这里参考自 狄泰 数据结构课程)基本思想任取一个元素作为基准, 将数组分为两部分,一边序列是小于或等于 该基准一边序列是大于该基准基准元素排再该序列中间将两边序列又重复以上动作知道所有元素排好序 (递归思想)看下图直接上代码template <typename T>void Sort::Quick(T array[], int len, ...

2019-11-17 14:04:05 187 1

原创 几种排序分享--归并排序

归并排序(这里参考自 狄泰 数据结构课程)基本思想将两个或两个以上的有序序列合并成一个有序序列 意思就是V[ 0 ] , V[ 1 ] , V[ 02] ,…V[ m ] 和 V[ m ] , V[ m+1 ] , V[ m+2] ,…V[ n-1 ]合并 为 V[ 0 ] , V[ 1 ] , V[ 02]…V[ n-1 ]看下图 举例:直接上代码:template...

2019-11-17 13:51:09 130

原创 几种排序分享--插入排序

插入排序(这里参考自 狄泰 数据结构课程)基本思想-当插入第 i (i >= 1) 个数据元素时, 前面 i-1 个数据元素已经排好序, 这时用 V[ i ] 的关键字与 前 i-1 个数据进行比较 找到位置后将位置上的对象往后移动.看下图:直接上代码:template <typename T>void Sort::Insert(T array[]...

2019-11-17 11:14:16 123

原创 几种排序分享--选择排序

选择排序(这里参考自 狄泰 数据结构课程)这里讲一下选择排序:基本思想;每次(比如从第 i 次, i = 0, 1, 2, …, n-2) 从后面 n-1 个待排的数中取 关键字 (关键字就是指比较的时候需要用来比较的的元素) 最小或最大的元素作为有序序列的第 i 个看个图:直接上代码:这里代码分两部分:一个是交换元素函数,一个是真正的排序函数在后续的排序代码的分...

2019-11-17 10:56:07 246

原创 Makefile中wildcard、notdir、patsubst函数

在Makeifile中有不少函数这里总结一下自己在工程用到的:wildcard它有一个参数,功能是展开成一列所有符合由其参数描述的文 件名,文件间以空格间隔。你可以像下面所示使用这个命令: SOURCES= $(wildcard *.c) 这行会产生一个所有以 ‘.c’ 结尾的文件的列表,然后存入变量 SOURCES 里。当然你不需要一定要把结果存入一个变量。notdir把展开...

2019-11-07 19:47:09 253

原创 C语言剖析---字符串的问题

C语言剖析—字符串的问题参考自狄泰 C语言进阶先看下面代码int main(){ #define STR "hello \0this is test" char buf[255] = {0}; char* src = STR; snprintf(buf, sizeof(buf), src); printf("%d\n", strlen(STR)...

2019-11-03 14:46:22 109

转载 为什么const对象只能调用const成员函数,而不能调用非const成员函数?

这篇属于转载:原文链接:https://blog.csdn.net/jisuanji198509/article/details/80557333在c++中,我们可以用const来定义一个const对象,const对象是不可以调用类中的非const成员函数,这是为什么呢?下面是我总结的一些原理。假设有一个类,名字为test代码如下:class test{   int i; public:...

2019-11-03 14:00:20 371

原创 分析两个LINUX内核的宏

在Linux内核中有两个比较常用的宏: offsetof 和 containter_of这里先给出这 offsetof 宏的定义    offsetof 宏:#ifndef offsetof#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE*)0)->MEMBER)#endif...

2019-10-27 15:03:28 163

转载 C++剖析--- 重载运算符返回值 和 返回引用的原因

重载运算符返回值 和 返回引用的原因+,-,*等返回不了引用,比如+运算符,可以如下重载(为了简单,假设A 只有int x;int y)A operator+(A a,A b) {A sum; sum.x=a.x+b.x; sum.y=a.y+b.y; return sum; }分析不能用引用的原因: 函数传入了两个参数a,b,并且+只能传入两个参数(c++不允许自己创造运算符)...

2019-10-24 15:08:47 1437 2

原创 使用3516EV200 模组的一些相关问题

使用3516EV200 模组的一些相关问题前一阵子 公司产品方案可能要更新,使用不同的海思芯片方案,所以买了个模组回来玩玩遇到下列问题:3516ev200是 squashfs的压缩文件系统,而且这个模组很蛋疼的是,启动后一些命令是使用不了的会出现“Applet not found”字样 可能原因是因为厂商在busybox的源码上applet相关做了修改,在uboot模 式下,同样把 t...

2019-10-13 11:22:39 2115 8

原创 编译海思3518EV200的内核出现的问题

编译海思3518EV200的内核出现的问题在使用海思35158E的SDK进行编译内核时候出现了一个错误mkimage commmand not found -U-Boot will not be built 错误解决办法:进到SDK里面 uboot 目录/osdrv/opensource/uboot/u-boot-2010/tools/ 将里面的mkimage 复制到Linux目录 ...

2019-10-13 10:53:28 352

原创 Linux C --- 一些不大常用的函数

Linux C — 一些不大常用的函数fallocate()函数函数原型: int fallocate(int fd, int mode, off_t offset, off_t len)这个函数是Linux系统从3.15版本开始出现的一个特有的函数, POSIX标准类似的函数是posix_fallocate(),这个函数可以直接操作文件在磁盘空间的大小从offset开始到的len个...

2019-10-13 10:49:07 1163

原创 Linux C--- 文件读写的一些细节问题

Linux C—文件读写的一些细节问题我们知道,在Linux C库中提供有 fwrite() fread() 等这些标志库函数用于程序对文件的操作现在有个问题:假设程序设计需要我们往一个文件写入少量数据, 然后再把它读出来。这个时候要怎么写程序呢?看到这个问题可能第一反应就是 fopen() -> fwrite() -> fread()-> fclose()这个流程,写入数...

2019-10-13 09:54:02 291

原创 C++剖析--- 转换构造函数

C++剖析— 转换构造函数参考自 狄泰 C++深度解析我们知道在标准的数据类型之间是有隐式转换的,转换关系如下:这是 C语言和 C++ 里的转换关系,我们这里主要谈论C++,总所周知C++相比C语言有了一个 类 的概念,类中有构造函数,而当构造函数具有以下特点时会成为转换构造函数:有且只有一个参数参数是基本数据类型参数不是自身类的类型我们知道,类也是一个数据类型,那么问题来了类...

2019-10-11 22:01:07 202

原创 C语言剖析---程序中的堆栈

C语言剖析—程序中的堆栈参考自 狄泰 C语言进阶个人认为堆栈可以分为两个概念 一个是数据结构中堆栈概念 一个是计算机程序存储的概念这里分析的堆栈就是从计算机存储的概念出发首先栈是用来程序自主分配用来保存一些局部变量等同时栈也是维护函数调用的上下文信息栈是保存了函数哪些相关信息? 看下图上图就描述了栈保存一个函数的记录 也叫活动记录 其中参数 --就是函数传入的参数返回地址 ...

2019-10-03 12:16:03 554

原创 C语言剖析--- ++操作符

C语言剖析— ++操作符可以先看下面有段代码int main(){ int k = 2; int a = 1; k = k++ + k++; printf("k = %d\n", k); if( a-- && a ) { printf("a = %d\n", a); } ...

2019-10-01 15:10:10 349

空空如也

空空如也

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

TA关注的人

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