_-ARCHER-_
码龄7年
关注
提问 私信
  • 博客:34,310
    34,310
    总访问量
  • 31
    原创
  • 921,331
    排名
  • 12
    粉丝
  • 0
    铁粉

个人简介:24届毕业于西安电子大学的渣渣工程师一枚

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-01-23
博客简介:

qq_41668705的博客

查看详细资料
个人成就
  • 获得41次点赞
  • 内容获得9次评论
  • 获得162次收藏
  • 代码片获得427次分享
创作历程
  • 1篇
    2023年
  • 3篇
    2022年
  • 28篇
    2020年
成就勋章
TA的专栏
  • 操作系统
    6篇
  • C / C++
    11篇
  • 算法
    4篇
  • 神经网络
    1篇
  • 图像
    1篇
  • 刷题
    4篇
  • 驱动
    6篇
  • s3c2440
    11篇
  • 裸机
    5篇
兴趣领域 设置
  • 人工智能
    机器学习深度学习神经网络图像处理
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

180人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

FreeRTOS

FreeRTOS学习笔记
原创
发布博客 2023.08.12 ·
591 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Motion Matching

新一代的动画技术Motion Matching针对状态机及动作融合的缺陷,拥有使用简单、灵活的特点,并且能实现丰富的动作效果。同时也存在响应、耗时等其他方面的缺陷。更多的游戏从业者也在这个方向上去探索,未来会有更多的游戏应用此技术。
原创
发布博客 2022.05.26 ·
1592 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

Learned Motion Matching

运动匹配是一种简单而强大的游戏角色动画制作方式。与其他方法相比,一旦你有了基本的设置,它就不需要太多的手动工作:不需要在图形中构建剪辑,仔细剪切或同步它们,或者明确地在状态之间创建新的转换。但是,运动匹配在与大量动作捕捉数据结合使用时效果最佳,所有这些数据都是有代价的:大内存使用量,系统增长越多,应用的情况就越多,这种情况只会变得更糟。在这里,我们提出了一个名为Learned Motion Match的问题的解决方案,它利用机器学习来大幅减少基于运动匹配的动画系统的内存使用量。
原创
发布博客 2022.05.16 ·
2039 阅读 ·
6 点赞 ·
1 评论 ·
9 收藏

K210(1)解决一些新上手出现的问题

K210 MAIX问题1:AttributeError: 'image' object has no attribute 'xxxx'问题2:ERR. NO_ MEM: memory not enough
原创
发布博客 2022.05.10 ·
8763 阅读 ·
8 点赞 ·
0 评论 ·
55 收藏

简说extern关键字

关键字extern的作用是在一个文件中引用一个变量或者一个函数引用同一个文件中的变量在编写代码的时候会出现一个变量在使用的时候,发现这个变量声明的位置在使用位置的后边,但是这个时候不想把声明位置给提前,导致程序出现变量未定义的错误,这个时候可以通过extern在使用之前对其进行声明,既可以使用该变量。例子:#include<stdio.h>void func();int main() { func(); //此时调用func函数在num声明之后 extern int num;
原创
发布博客 2020.09.03 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

简说static关键字

今天在面试的时候面试官问到了static把我给问懵了,发现自己的知识储备真的不够。变量1、局部变量普通的局部变量储存在进程的栈空间,使用完之后会立即被释放,即在函数运行完毕之后其值变回消失。但是static变量在初始化的时候便会存入静态存储区中,就算没有赋初值也会默认设置为0,即使函数返回其值不会发生改变。在下一次进入到该函数的时候,定义static局变量的语句就等同于失效了,比如说static变量a = 1进入到函数中,执行语句static a = 0; 这样a的值还是保持为1,并不会初始化为0。
原创
发布博客 2020.09.03 ·
244 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

刷题长路(3):位运算

位运算1、数字范围按位与1、数字范围按位与题目描述给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。示例1输入: [5,7]输出: 4示例2输入: [0,1]输出: 0分析最简单的就是按照顺序从n到m进行叠加与运算如下代码所示。class Solution {public: int rangeBitwiseAnd(int m, int n) { int answer
原创
发布博客 2020.08.23 ·
141 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

算法(2):动态规划 【持续更新】

动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。动态规划往往用于优化递归问题,例如斐波那契数列,如果运用递归的方式来求解会重复计算很多相同的子
原创
发布博客 2020.07.25 ·
347 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

刷题长路(2):简单错误记录

题目链接:https://www.nowcoder.com/questionTerminal/67df1d7889cf4c529576383c2e647c48开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要
原创
发布博客 2020.07.17 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

刷题长路(1):查找最大数

刷题记录(1):查找最大数之前的刷题记录,之后也会陆陆续续进行分析(之前没做笔记,保存工程文件占位得很)输入输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候, 表示这是一条询问
原创
发布博客 2020.07.17 ·
606 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

算法(1):比较类排序C语言实现

这里写目录标题冒泡排序归并排序原理部分:十大经典排序算法(动图演示)冒泡排序归并排序1、递归方法
原创
发布博客 2020.07.13 ·
546 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

嵌入式操作系统(4):内存管理

操作系统内存管理一、连续式内存分配1. 地址空间2. 动态匹配策略3. 内存碎片4. 内存碎片处理二、非连续式内存分配1. 分段2. 分页3. 页表4. TLB5. 多级页表6. 反向页表三、虚拟内存四、页面置换一、连续式内存分配计算机体系结构: CPU、内存、外设。1. 地址空间物理地址空间:硬件支持的地址空间逻辑地址空间:一个运行的程序所拥有的内存范围应用程序的逻辑地址映射到物理地址的方式:CPU方面运算器ALU需要在逻辑地址的内存内容(CPU要逻辑地址)内存管理单元MMU寻
原创
发布博客 2020.07.11 ·
1524 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

简说volatile关键字

volatilevolatile的本意是“易变的” 因为访问寄存器要比访问内存单元快的多,所以编译器一般都会作减少存取内存的优化,但有可能会读脏数据。当要求使用volatile声明变量值的时候,编译器对访问该变量的代码就不再进行优化,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。由上分析,volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以消除一些代码。但有时这
转载
发布博客 2020.07.09 ·
126 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

S3C2440 开发板实战(11):同步互斥

同步互斥原子操作实现定义原子变量获得锁释放锁总驱动函数实验信号量实现定义信号量获得锁释放锁总驱动函数实验本文没有讲同步互斥的基础知识,基础知识可以移步至:嵌入式操作系统(3):同步和互斥原子操作实现目的:防止两个进程同时打开同一个文件。在后一个进程打开文件时自行退出。定义原子变量定义原子变量v并且初始化为1atomic_t canopen = ATOMIC_INIT(1);获得锁对原子变量进行自减操作来判断是否有进程正在打开目标文件,若有恢复原子变量并返回-1(-EBUSY)。if(!at
原创
发布博客 2020.07.08 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

S3C2440 开发板实战(10):signal & async 异步通信

通信进程之间发送信号asyn由上两篇博客中可以看到按键输入的信号可以通过查询、中断、poll方式进行。本篇学习的是通过异步通信对进程之间发送信号这里我们使用 kill 命令,在进程与进程之间进行传输信号。比如杀死一个进程也是通过进程之间发送信号:#kill -9 pid相对应的如果要发送信号,则要注册信号处理函数(和注册中断服务函数类似),并且编写一个信号服务函数,然后写一个一直休眠的函数就ok了。应用程序 signal.c 代码如下:#include<stdio.h>#incl
原创
发布博客 2020.07.08 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C / C++系列 (5):指针 vs. 引用

这篇博文主要讲讲指针与引用之间的相同点和不同点。对于使用不做介绍(太熟了)相同点都是地址概念指针为指向一块内存,它的内容是所指内存的地址。引用是某块内存的别名,使用相同的地址,相当于一个变量有两个名字。指针引用之间的转换:指针转引用:把指针用*就可以转换成对象,可以用在引用参数当中。引用转指针:把引用类型的对象用&取地址就获得指针了。int a = 0; int *pA = &a; void fun(int &va){} // 定义fun(*pA
原创
发布博客 2020.07.07 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C / C++系列 (4):malloc内存分配 & linux虚拟地址空间布局

变量内存分配的方式内存分配有三种方式:从静态存储区域 分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量 ,static变量 。在栈 上创建。在执行函数时,函数内局部变量 的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。从堆 上分配,亦称动态内存分配。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内
原创
发布博客 2020.07.07 ·
916 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

C / C++系列 (3):heap vs. stack & new vs. malloc

文章参考:细说new和malloc区别Linux虚拟地址空间布局以及进程栈和线程栈总结在内存分配中会涉及到栈和堆(和数据结构中的堆栈不同),所以先将以下在内存中栈和堆的区别heap vs. stackkey points:堆(heap):持久化、顺序随意、全局栈(stack):临时、 后进先出、局部1、申请方式堆:由程序员自己申请并指明大小的,当进程调用malloc / new等函数分配内存时,新分配的内存动态添加到堆上(扩张);当调用free / delete等函数释放内存时
原创
发布博客 2020.07.06 ·
443 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

S3C2440 开发板实战(9):poll机制

poll内核执行poll过程总代码内核:linux -2.6.22.6内核执行poll过程从代码的角度来看,poll机制是通过应用程序调用**poll()函数,配合驱动函数中相对应的drv_poll()函数配套使用的。函数执行的入口当然是应用程序中的poll()函数,接着进入内核中的sys_poll()**函数,poll机制的函数在路经:linux/fs/select.c下,原代码如下:739 asmlinkage long sys_poll(struct pollfd __user *ufds,
原创
发布博客 2020.07.06 ·
754 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C / C++系列 (2):枚举enum

enum定义枚举定义枚举变量定义枚举由于在实际的编程中使用宏定义会使代码的阅读性变高,所以应该多采用宏定义进行赋。但是在实际的应用中 有着这样的问题:如果对于周一到周日需要定义1-7,一共7个define语句:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6#define SUN 7一看就不太美观,所以枚举就出来了枚举的定义如下:enum enum_name {e
原创
发布博客 2020.06.30 ·
538 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多