- 博客(47)
- 资源 (8)
- 收藏
- 关注
原创 MATLAB的这些知识你都知道吗?(持续更新中...)
最近在学习数字图像处理,在用MATLAB做一些实验的时候,发现了一些非常有用的知识,这篇文章会对这些知识做一个总结,话不多说,干货奉上。2020-2-14matlab和其他语言一样都可以编写函数代码,同样的参数也是可变的。通过 nargin 和 nargout 可以分别检查输入和输出参数的个数。function [out1, out2, out3] = fun( in1, in2, i...
2020-02-14 16:40:19 2062
原创 测试数据输入处理--在笔试的同学建议收藏
相信大多数笔试过的人大部分都被测试输入搞的炸毛过,下面介绍常见的几种输入样例的处理方法:1. 处理单值输入例:10处理输入代码如下:#include <iostream>using namespace std;int main(){ int m; cin >> m; cout << m << endl; return 0;}2. 处理空格隔开的多值输入例:10 11 12处理输入代码如下:#i
2021-09-02 20:24:02 466
原创 牛客网嵌入式开发面试集合(更新中....)
文章目录1. CVTE 嵌入式软件开发 一面面经 8.13(1h20m)1.1 Socket中UDP/TCP相关的封装函数1.2 三次握手和四次挥手1.3 malloc和new的区别1.4 宏定义在什么阶段处理1.5 全局变量、局部变量、静态变量存储在什么地方?1.6 UDP/TCP区别2. 联发科武汉嵌入式软件开发一二三面面经2.1 什么是系统调用2.2 虚拟内存,32位机虚拟内存分布,虚拟内存怎么到物理内存(MMU)2.3 为什么C++可以函数重载,C不行2.4 文件系统相关3. 华为优招 消费者BG终
2021-08-20 16:31:20 1129
原创 花几个小时做一个看股票的摸鱼神器
文章目录项目介绍先从界面开始吧让我们的窗口动起来,还能隐藏哦从哪爬点股票数据呢添加一支你的自选股吧获取些股票信息来填充我们的窗体吧让我们的股票价格滚动起来吧删除、置顶、排序,你还能想到什么使用操作呢一些展望项目介绍你还在为了不能及时看到股价发愁吗?你还在为了上班偷看股票APP而担心吗?现在我们隆重推出新的一款Windows实时股票显示应用,你看它简洁的界面,丰富的功能,还支持贴边自动隐藏,现在开始不要998,不要998,统统免费,只需要看本教程,你就可以自己做出这个应用,有兴趣还可以扩展一下功能。我敢
2021-07-22 13:20:26 1822 1
原创 c语言制作定时器库
c语言制作定时器库1. 大致功能介绍2. API库介绍3. 一个例子4. 库文件源码注意事项1. 大致功能介绍实现任务列表,定时器会间隔一段时间遍历列表发现要执行的任务任务列表中的所有任务并行执行每个任务都可以有自己的定时器,并且可以选择是否要重复执行定义方便的任务函数实现接口定时器可以由用户自定义何时启动和停止提供等待功能,保证任务列表中的所有任务执行完成提供任务列表的传参功能2. API库介绍void setTick(int val);设置定时间的间隔时间tick,若设置t
2020-12-31 10:47:53 1487
原创 连接redis server的那点破事。。。
这篇文章记录一下redis的两种客户端与服务器连接的方式,以及相应的配置项,也分享下自己探索过程的一些无知 (公开处刑) 。Tip: 你可以直接看4.总结 ^ _ ^。1. 前景最近在学习公司的一个关于BMC的项目,其中包括了redis 的相关内容(用于缓存一些对象)。由于刚开始学习BMC,所以想知道redis中到底缓存了些什么对象,于是乎上网开始查找怎样登录redis服务器,怎样获取缓存信息。不出所料,资料一大堆,都是在说有两种方式,一种是提供IP和端口登录(本地不需要提供,直接使用默认即可),
2020-12-10 11:48:53 665
原创 Linux中的文件系统与挂载
Linux中的文件系统与挂载1. 前言2. 挂载2.1. 简介2.2. 挂载一个磁盘到某个目录下2.3. 挂载一个已有目录到某个目录下2.4. mount支持的文件系统格式3. Linux的文件系统1. 前言本文将介绍一下挂载是什么,怎么用,以及在文件系统中的作用,最后介绍了Linux的文件系统如何组织及查看方法。2. 挂载2.1. 简介在讲文件系统前,我们先了解一下挂载(mount)是什么。通俗的来说,挂载就是将一个已有的磁盘或者说设备映射到一个文件夹下,以实现通过该文件夹来访问被映射设备的空
2020-11-27 17:16:27 1901
翻译 BitBake用户手册翻译笔记(二)
BitBake用户手册翻译笔记3. 基本语法3.1. 基本语法3.1.1. 基本变量设置3.1.2. 变量扩展3.1.3. 设置一个默认值(?=)3.1.4. 设置一个弱默认值(??=)3.1.5. 直接变量展开(:=)3.1.6. 带有空格的追加(+=)和前加(=+)3.1.7. 不带空格的追加(.=)和前加(=.)3.1.8. 追加和前加(覆盖风格语法)3.1.9. 消除(覆盖风格语法)3.1.10. 变量标志语法3.1.11. 内联Python变量扩展3.1.12. 提供路径名3.2. 条件语法(Ov
2020-09-15 16:31:35 2138
翻译 BitBake用户手册翻译笔记(一)
1. 概述1.1. 介绍BitBake是一个通用的任务执行引擎,并且支持shell和python,其主要服务于OpenEmbedded和Yocto,类似于GNU make,用于构建项目,差别主要在于以下几点:BitBake根据用于建立任务的元数据(metadata)执行任务。 元数据存储在recipe(.bb)文件、related recipe “append” (.bbappend)文件、配置文件(.conf)、underlying include 文件(.inc)以及类文件(.bbclass)中
2020-09-14 11:35:16 2648
原创 用QT自制一款同人小游戏
最近在玩一款手游《少女前线》,对里面的一些游戏内容很感兴趣,突发奇想做了一款同人小游戏,游戏模式有点类似坦克大战。目前已经做完三关,代码也已经上传到GitHub上(代码及可执行文件下载链接),下面放几张游戏中的图片:游戏初始界面:游戏第二关界面:游戏代码也不算太难,每个文件中我已经将每个函数的功能注释好了,有兴趣的小伙伴不妨下载看看,如有问题欢迎私信,下面放各个关卡的游戏视频链接:第一关传送门第二关传送门第三关传送门...
2020-07-10 18:16:22 815
原创 就是你这个bug浪费我一天时间?
最近在研究一个算法,为了验证其效率就随手编写了一个代码。本以为没什么问题,结果一运行程序就卡住导致运行出错。额。。。写个程序有Bug很正常的事情嘛,然而,就是这个Bug花了我一天的时间找错误。更令我沮丧的是,错误的源头竟然是。。。(买个关子,有兴趣的读者可以看看下面的伪代码找找错误,错误分析见最后)我将C++代码主要部分列出,读者可以猜猜(错误新人也可能找到哦,主要是我太蠢了,哈哈 )// 一个点的数据结构class Point{ ...}queue<Point*> Q; //
2020-06-23 16:16:05 490
原创 多维点集问题的分治技术
多维点集问题的分治技术1. 引言2. 分治技术3. 支配问题3.1 经验累积分布函数3.2 经验累积分布函数的搜索问题(The ECDF searching problem)持续更新...Appendix A1. 引言多维点集问题在计算机科学领域有着十分重要的地位,其旨在解决高维空间内最大点的搜索、ECDF函数的计算以及最近点的搜索等等,这些问题在实际应用中有着非常重要的作用,比如在数据库中...
2020-03-31 21:03:41 825
原创 自己动手完成一款简易P2P共享文件软件的制作(二)
文章目录4. 客户机设计4.1 GUI界面与功能设计4.2 P2P下载功能设计5. meta元数据与通信协议介绍本文实验测试部分可参考基于QT的一款P2P共享文件系统源码包下载地址基于QT的一款P2P共享文件系统下载,想要免费获取可以私信我自己动手完成一款简易P2P共享文件软件的制作(一)4. 客户机设计客户机设计相较于服务器设计相对繁琐,因为除了需要设计一个GUI界面以及与服务器通...
2020-01-25 18:57:22 2688 1
原创 自己动手完成一款简易P2P共享文件软件的制作(一)
文章目录1. 前言2. 系统总体框架3. 服务器设计本文实验测试部分可参考基于QT的一款P2P共享文件系统源码包下载地址基于QT的一款P2P共享文件系统下载,想要免费获取可以私信我1. 前言文章讲述一款简单P2P共享文件软件的制作,设计环境是mysql、windows与QT5.5。要实现的功能包括用户的注册与登录,用户共享文件的上传、删除与下载。同时也具有精确搜索的功能,用户可以通过搜...
2020-01-23 17:08:05 4892 3
原创 基于QT的一款P2P共享文件系统
软件下载地址 : 基于QT的一款P2P共享文件系统软件环境: QT5.4.x, mysql5准备工作:需要启动mysql服务,并建立ShareFile数据库,建如下两张数据表:login表Resource表:如启动服务器时发现数据库连接失败,一种情况是libmysql.dll文件丢失,一种是用户密码和用户名错误,需要到代码相关位置修改。对于libmysql.dll文件丢失,可以将我提...
2019-12-03 11:12:37 2374 12
原创 优化算法之D.S.C法与D.S.C-Powell法及其C++代码实现
优化算法之D.S.C法与D.S.C-Powell法一、凸函数二、二次插值法三、D.S.C法四、D.S.C-Powell法五、实验结果六、C++源码注:本文内容大多借鉴于《最优计算方法》——陈开周注:本文讨论的优化函数只限于二维。一、凸函数在介绍这两个算法之前,我们需要先了解一下凸函数的概念。因为大多数传统的优化算法所求的函数模型都是默认为凸函数,这两个算法也不例外,而对于其他的复杂函数...
2019-11-15 14:05:08 1446
原创 贪婪遗传算法求解背包问题
混合遗传算法求解背包问题1. 背包问题的数学建模2. 经典遗传算法的缺陷3. 贪婪遗传算法4. 测试结果1. 背包问题的数学建模最近在学习遗传算法的时候,发现传统的遗传算法在求解背包问题时,经常会出现求解结果收敛到局部最优解的情况,对于这种问题,查阅相关资料后大致了解到背包问题在用遗传算法求解时,需要加入贪婪算子修改算法,本文对这种算法会做一个详细介绍,文末附源码下载地址。首先先对背包问题...
2019-10-01 15:51:17 3211
原创 线性规划问题与单纯形法
线性规划是运筹学中一个很重要的分支,本文通过一个实例简单的介绍一下什么是线性规划问题,以及单纯形法的计算步骤。问题 : 在一个工厂中,有两种产品A与B,它们的单价分别为6元与7元。A产品需要2千克原料P与4千克原料Q,而B产品需要3千克P与1千克Q,且P原料总数为16千克,Q原料总数为12千克,设计一种方案,即需要分别生产多少单位A和B可以使得利润最大化?问题出处 :《运筹学基础及其MAT...
2019-09-10 10:47:08 991
原创 Linux驱动函数register_chrdev_region
Linux驱动注册有两种接口,一种是旧接口register_chrdev,另一种是新接口register_chrdev_region + cdev_init/cdev_add。register_chrdev_region函数内容如下:
2019-08-04 11:44:33 1226
原创 Linux应用编程之文件属性操作
Linux应用编程之文件属性操作1. stat函数及其打印内容解释之前已经谈过Linux系统中对文件内容操作的一些函数和知识,接下来本文要谈的就是怎么操作每个文件的属性,Linux系统中每个文件都有自己的属性,比如权限问题、属主以及时间戳等等,所以了解怎样操作文件属性也是很有必要的。1. stat函数及其打印内容解释我们都知道Linux系统中的ls命令,它可以打印某个文件夹下文件属性,其包...
2019-07-14 16:13:00 367
原创 Linux应用编程之文件IO
Linux应用编程之文件IO1. open函数与它的flags在Linux系统下,一般所有的设计都奉行一个原则,那就是一切皆是文件。无论你要访问一个硬件设备还是编写一个文档都需要操作相应目录下的文件,所以,对文件的操作可以说是Linux应用编程的基础,十分重要,本文会对Linux系统下与文件IO相关的库函数做一个介绍,并且分析文件在多进程中会被如何操作。1. open函数与它的flags在...
2019-07-10 12:13:01 403
原创 init进程启动过程梳理
init进程作为Linux内核启动后的1号进程,其将会随着系统运行一直保持运行状态直到系统关机,本文梳理了init进程从内核到根文件系统过程中init进程执行的一个流程。内核在启动结束时,其会调用kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND);函数挂起kernel_init进程,虽说是进程,其实质还是一个函数,在kernel_...
2019-07-06 12:21:08 950
原创 arch_initcall与do_initcalls
在Linux中的许多地方经常可以看到arch_initcall的使用,arch_initcall究竟是干什么用的呢?查找整个工程可以在…/kernel/linux/init.h文件中找到arch_initcall的定义:#define arch_initcall(fn) __define_initcall("3",fn,3)所以,对arch_initcall的使用就是对__define_i...
2019-07-03 16:22:08 608
原创 init进程笔记
在Linux内核启动到最后时,内核会调用三个进程,PID分别为0,1,2,其中就包含了init进程(PID=1)。init进程可以说是之后所有用户进程的父进程了,它自从产生便一直存在在内存空间中直到关机。在系统启动后,使用ps命令查看进程列表可以在最开始找到init进程,ps命令打印的是所有用户态下的进程,这是不是可以说明init进程就是一个用户进程呢?答案是否定的,init进程实际上最初是内核...
2019-07-02 17:41:19 315
原创 kernel启动过程笔记-C语言阶段
kernel启动过程-C语言阶段kernel镜像版本为2.6.35kernel内核的C语言启动过程主要由start_kernel函数负责,该函数位于…/kernel/init/main.c文件中。在该函数中调用了大量函数,体系非常庞大,但其中大部分我们可以不用关心,因为那些都涉及到一些专业知识,只有专门负责的大佬才会详细了解。按照程序流程,先执行了如下代码: smp_setup_pro...
2019-07-01 23:31:13 574
原创 kernel启动过程-汇编阶段
kernel启动过程笔记1. 程序入口2. 镜像的物理地址与虚拟地址3. 汇编启动阶段kernel镜像版本为2.6.351. 程序入口类似于bootloader代码分析一样,要找程序的入口可以先在工程中寻找lds链接文件,通过Linux的find命令可以找到一个文件vmlinux.lds.S文件,路径为kernel/arch/arm/kernel/,之所以kernel的链接脚本不是lds...
2019-06-30 22:56:34 486
原创 kernel编译过程
kernel编译过程先进入kernel文件夹,使用make distclean对kernel文件夹清理。使用make x210ii_qt_defconfig命令对工程进行配置。另外需要检查Makefile文件中CROSS_COMPILE变量是否是正确的交叉工具链的路径。配置成功后如下图所示:3. 检查kernel文件夹下是否新增一个文件.config。4. 通过命令sudo apt-...
2019-06-09 10:46:59 2791
原创 1001又是苹果
西电ACM竞赛第1001题问题描述:最近,亮亮和小W都对苹果很感兴趣!在研究了“最大苹果矩阵”和“给苹果树施肥”的问题后,他们又遇到了一个新的问题:有一块长n米、宽m米的地,现在小W把地划分成边长1米的小正方形块,共n*m个块。每个块中可能种有一棵苹果树,或放有一个iPhone,也可以什么也没有。然而,亮亮拥有一种超能力,可以将2个宽1米、长度相同的矩形块在空间中直接交换。亮亮经常对着...
2019-02-24 11:03:01 484
原创 uboot的环境变量
uboot的环境变量1. uboot的环境变量及其操作1. uboot的环境变量及其操作正如Windows其他操作系统一样,虽然uboot构不成操作系统,但它也有属于自己的环境变量,也就是全局变量。在进入uboot的命令行中,输入print可以打印uboot的所有全局变量及其值,下面是uboot的环境变量,由于没有增添过,所以都是默认的环境变量:如上图,uboot默认环境变量共10个...
2019-02-12 14:51:55 977
原创 关于uboot代码所设置的raw分区分析
uboot version : 1.3.4CPU : s5pv210开发板 : 九鼎x210分析工具 : Source Insight1. uboot初始化raw分区代码在学完uboot的大致体系后,我一直有个问题不太清楚,那就是在uboot通过fastboot烧录镜像时所用的分区名究竟在何时定义过,raw分区究竟是怎样安排在iNand(启动介质)中的,带着这些问题,我又从uboot...
2019-02-12 14:07:13 970
原创 uboot的命令体系与自定义添加命令
uboot的命令体系与自定义添加命令1. uboot命令体系简介2. uboot命令处理大致流程3. uboot的命令集处理4. 增加自定义命令1. uboot命令体系简介uboot有几十多个命令,在uboot进入bootdelay倒计时后按下回车,就可以进入uboot的shell(命令体系)中。输入help命令,按下回车可以查看uboot的命令集,如下:x210 # help? ...
2019-02-10 15:52:14 1711
原创 tftp下载内核镜像到开发板过程步骤
tftp下载内核镜像到开发板过程步骤1. 实验目的2. 实验材料3. 实验内容TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中>的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开>销不大的文件传输服务。端口号为69。–来源百度词条1. 实验目的通过主机的tftp服务器下载linux内核到开...
2019-02-01 13:35:54 1844
原创 uboot启动第二阶段--start_armboot函数分析(2)
uboot启动第二阶段–start_armboot函数分析(1)start_armboot函数分析四.四.
2019-01-31 17:24:34 530
原创 uboot启动第二阶段--start_armboot函数分析(1)
start_armboot函数分析一. init_fnc_t类型及相关使用介绍二. 全局变量gd及其巧妙的内存分配三. init_sequence 函数指针数组元素分析path = …/uboot/lib_arm/board.c一. init_fnc_t类型及相关使用介绍init_fnc_t 类型的定义为typedef int (init_fnc_t) (void); ,显然,这是一个...
2019-01-27 18:41:36 509
原创 uboot启动第一阶段--start.S代码分析笔记(3)
start.S代码分析笔记(2)start.S代码分析笔记17. 重定位(2)-- 虚拟地址映射17.1 设置域访问17.2 设置TTB(转换表)17.3 小结17.4 9-15行代码17.5 18-25行代码18. 386-398行代码(第三次设置栈)19. 400-409行代码(初始化bss段)20. 411行代码(执行BL2)17. 重定位(2)-- 虚拟地址映射虚拟地址映射详细...
2019-01-24 18:52:05 472
原创 uboot启动第一阶段--start.S代码分析笔记(2)
start.S代码分析笔记start.S代码分析笔记13. 288行代码(CPU相关硬件初始化)14. 292-294行代码(开发板电源上锁)15. 297-299行代码(二次设置栈)16. 重定位(1)16.1 305-310行代码16.2 314-318行代码16.3 321-332行代码16.3 343-354行代码(mmcsd_boot)13. 288行代码(CPU相关硬件初始...
2019-01-24 10:51:39 531
原创 uboot启动第一阶段--start.S代码分析笔记(1)
start.S代码分析笔记1. Uboot程序入口2. 28-39行代码(头文件包含)3. 49-54行代码(校验头)4. 56-83行代码(异常向量表)5. deadbeef(坏牛肉)6. 99-100行代码(链接地址)7. 107-108行代码(物理地址)8. 141-149行代码(复位函数入口,cpsr_c寄存器设置)9. 200-221行代码(刷新iCache,MMU)10. 225-22...
2019-01-22 18:22:51 612
原创 Uboot配置文件mkconfig分析
mkconfig脚本在主Makefile文件中配置时调用x210_sd_config : unconfig @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110 @echo "TEXT_BASE = 0xc3e00000" > $(obj)board/samsung/x210/config.mk在调用脚本时传了6个参...
2019-01-15 20:19:04 917 1
原创 Uboot Makefile 代码笔记(2)
文章目录6. 185行代码7. 190-289行代码8. 291-477行代码6. 185行代码include $(TOPDIR)/config.mkTOPDIR 在之前已经申明过了,表示代码的顶层目录,这句代码将与主Makefile同一文件路径下的config.mk文件包含进来。config.mk文件主要是一些编译工具的配置,如ld,gcc等等。其他详见config.mk笔记7. ...
2019-01-15 12:30:30 395
基于QT的P2P共享文件系统
2019-12-02
source.zip
2019-11-14
bag_gene.m
2019-10-01
C语言编写的科学计算器
2019-02-01
嵌入式环境搭建(包括tftp,nfs)
2019-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人